网易互娱二面筋

网络互娱二面简记,对面试官对两道coding题的见解并不是很满意。嘤嘤嘤。。

笔试题

有一个用户id数组 array_id[M] , 需要写一个函数,需要从M个用户中抽取N个中奖用户,写一个接口。提供rand(M) 返回 0 ~ M-1

vector<int> get_n(int array_id[],int M,int N){
    vector<int> res;
    for(int i(0);i<M;i++){
        if(rand(M-i)<N){
            res.push_back(array_id[i]);   N--;
        }
    }
    return res;
}  
结果被面试官吐槽绕来绕去看不懂,求问各种大佬,相较于解法 csdn百度 到底谁的逻辑更简明。

面试题

给定一个 N*M 地图,每个格子会发生一场战斗,该格子上标识的数为玩家hp变化的值,玩家需要从(0,0)出发,到右下角。当hp值<=0时 玩家死亡,求玩家出发时所需要的最小hp值。

int find(vector<vector<int> >mymap){
    vector<vector<int> >dp1(mymap.size(),vector<int>(mymap[0].size()));
    vector<vector<int> >dp2(mymap.size(),vector<int>(mymap[0].size()));
    for(int i(0);i<mymap.size();i++){
        for(int j(0);j<mymap[0].size();j++){
            dp1[i][j]=mymap[i][j]+min(i==0?0:dp[i-1][j],j==0?dp[i][j-1]);
        }
    }
    for(int i(0);i<mymap.size();i++){
        for(int j(0);j<mymap[0].size();j++){
            dp1[i][j]=mymap[i][j]+min(i==0?0:dp1[i-1][j],j==0?dp1[i][j-1]);
        }
    }
    // 求出到达(i,j)的最大剩余hp
    for(int i(0);i<mymap.size();i++){
        for(int j(0);j<mymap[0].size();j++){
            dp2[i][j]=min(dp1[i][j],max(i==0?-1e8:dp1[i-1][j],j==-1e8?dp1[i][j-1]));
        }
    }
    // 求出到达(i,j)的最大剩余hp的最小值
    if(dp2[mymap.size()-1][mymap[0].size()-1]>0)return 1;
    else return 1-dp2[mymap.size()-1][mymap[0].size()-1];
}

这个我就更懵逼了,两遍dp可以合并成一个for循环,不开心

总结

面试体验并不是特别愉快~ 面试官对计算机基础其实要求还是挺高,其他的就看。。仁者见仁智者见智了。

#网易互娱##笔试题目##面试题目#
全部评论
请问老哥投的啥岗位啊
点赞 回复 分享
发布于 2019-09-26 12:25
老哥 在哪里面的啊
点赞 回复 分享
发布于 2019-09-26 12:42
额,昨天我也感觉面试官不太想要人的样子,简历上的东西挺多的,不问,问了几道计网跟Linux之后让我写一个算法就结束了🙃后来提问环节我才知道他是用Python的,难怪一点JAVA都不问
点赞 回复 分享
发布于 2019-09-26 12:23
我面互娱的面试官感觉挺和善的😂可能看运气趴
点赞 回复 分享
发布于 2019-09-26 12:24
第一题我也问到了,我给面试官写了三种解法,看不懂就换下一个:-D
点赞 回复 分享
发布于 2019-09-26 12:39
老哥 在哪里面的啊
点赞 回复 分享
发布于 2019-09-26 13:58
楼主大佬,你有HR面吗?
点赞 回复 分享
发布于 2019-09-26 16:06
你这是几面啊老哥
点赞 回复 分享
发布于 2019-09-27 17:57

相关推荐

点赞 评论 收藏
分享
评论
2
26
分享
牛客网
牛客企业服务