7.2 疯狂游戏 游戏开发实习生 研发岗笔试编程题:(20分)输入k和target,k在数组里,那么2k+1或者3k+1也在数组里,问数组中有无等于target的数,若有则输出true,没有则输出false(30分)输入width和一个vector像图数组,输出按照垂直翻转的像素图,4个数表示一个像素点大概要求的输入输出效果如下输入:2,[1,2,3,4,2,2,2,2,3,3,3,3,4,4,4,4]输出:[2,2,2,2,1,2,3,4,4,4,4,4,3,3,3,3]主观题:(50分)讲述一下你参与制作过的一款游戏:制作的技术点时间复杂度/空间复杂度的分析应用到了什么设计模式设计上有什么不足,相应的解决方案?都是产生的不足了怎么会解决(遇到了什么挑战编程题提交的代码:1.通过85.71%(题面完全没给数的范围,所以负数有可能要特殊处理?后来加了dfs2也没过最后一个点)class Solution {public:    int t;    bool flag=0;    void dfs(int x)    {        if(x>t||flag==1) return;        if(x==t)        {            flag=1;            return;        }        if((t-1)%2==0) dfs(x*2+1);        if((t-1)%3==0) dfs(x*3+1);        return;    }    void dfs2(int x)    {        if(x<t||flag==1) return;        if(x==t)        {            flag=1;            return;        }        dfs(x*2+1);        dfs(x*3+1);        return;    }    bool kInArray(int k, int target)    {        t=target;        if(k<0&&t<0) dfs2(k);        else dfs(k);        if(flag==1) return 1;        return 0;    }};2.通过100%class Solution {public:    vector<int> flipImage(int width, vector<int>& pixels)    {        int a[width*4+1];        vector<int> v;        for(int i=0;i<pixels.size();i++)        {            a[i%(width*4)]=pixels[i];            if((i+1)%(width*4)==0)            {                for(int j=width;j>=1;j--)                {                    for(int k=(j-1)*4;k<=(j-1)*4+3;k++)                        v.push_back(a[k]);                }            }        }        return v;    }};
点赞 7
评论 7
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务