0821 网易开发岗笔试~通用技术A卷

1. 数组中找两数和小于等于M的数对数量 100
2. 字符串的第k个字符 100
3. 小朋友分纸张 70
4. 二维数组求最短路径 66.67

第三题部分代码,过了70%,请问有路过的大佬解释一下吗?
int tmp = list.get(0); // 第一个小朋友年龄
int num = 1;           // 记录纸的总数
int per = 1;           // 当前小朋友该发的纸数
for (int i = 1; i < list.size(); i++) { // 遍历其他小朋友
    int age = list.get(i);
    if (age > tmp) { // 后面小朋友年纪大,多发一张:per+1
        per++;
    } else if (age < tmp) { // 小 --->有一句话:【旁边】小朋友年龄大的话纸张数要多
        per--; 
    } else // 同岁 
        per = 1; // // 同岁的小朋友可以少于等于
    tmp = list.get(i);
    num += per;
}
第四题用的是矩阵动态规划的思想,想不明白为什么没有AC
public static int minSailCost(int[][] input) {

    int m = input.length, n = input[0].length;
    int[][] res = new int[m][n];
    res[0][0] = 0;
    // 初始化第一列
    for (int i = 1; i < m; i++) {
        if (input[i][0] == 0)
            res[i][0] += (res[i - 1][0] + 2);
        if (input[i][0] == 1)
            res[i][0] += (res[i - 1][0] + 1);
        if (input[i][0] == 2)
            res[i][0] = Integer.MAX_VALUE;
    }
    // 初始化第一行
    for (int j = 1; j < n; j++) {

        if (input[0][j] == 0)
            res[0][j] += (res[0][j - 1] + 2);
        if (input[0][j] == 1)
            res[0][j] += (res[0][j - 1] + 1);
        if (input[0][j] == 2)
            res[0][j] = 999999;
    }


    for (int i = 1; i < m; i++) {
        for (int j = 1; j < n; j++) {
            if (res[i - 1][j] == 9999999 && res[i][j - 1] == 9999999) {
                return -1;
            }

            if (input[i][j] == 0)
                res[i][j] = Math.min(res[i - 1][j], res[i][j - 1]) + 2;
            if (input[i][j] == 1)
                res[i][j] = Math.min(res[i - 1][j], res[i][j - 1]) + 1;
            if (input[i][j] == 2)
                res[i][j] = 9999999;

        }
    }
    print(res);
    return res[m - 1][n - 1];
}



#面试复盘##网易#
全部评论
84分的笔试成绩,笔试挂了!网易真卷!😑
1 回复 分享
发布于 2021-09-14 09:21
请问这个题不是和粉糖果一样吗?哪里有不同呢
点赞 回复 分享
发布于 2021-08-21 21:30
第四题动态规划的想法是有问题的 这里应该要记忆化dfs   我一开始想用记忆化dfs做 没写出来花了太久。。最后干脆写了个无记忆化的dfs 超时骗了66.7 第三题的话因为是环形 头尾要特判一下
点赞 回复 分享
发布于 2021-08-21 19:11
初始化那边有问题
点赞 回复 分享
发布于 2021-08-21 17:43
最后一题剪了个枝从67变83了😂
点赞 回复 分享
发布于 2021-08-21 17:17
第1,2,3,4题的分数依次为:20, 30, 30, 20 看别人帖子,好像算法和开发卷子一样的~~ https://www.nowcoder.com/discuss/715062?type=post&order=time&pos=&page=1&ncTraceId=&channel=-1&source_id=search_post_nctrack
点赞 回复 分享
发布于 2021-08-21 17:15

相关推荐

不愿透露姓名的神秘牛友
2025-12-17 16:48
今天九点半到公司,我跟往常一样先扫了眼电脑,屁活儿没有。寻思着没事干,就去蹲了个厕所,回来摸出手机刷了会儿。结果老板刚好路过,拍了我一下说上班别玩手机,我吓得赶紧揣兜里。也就过了四十分钟吧,我的直属领导把我叫到小隔间,上来就给我一句:“你玩手机这事儿把老板惹毛了,说白了,你可以重新找工作了,等下&nbsp;HR&nbsp;会来跟你谈。”&nbsp;我当时脑子直接宕机,一句话都没憋出来。后面&nbsp;HR&nbsp;找我谈话,直属领导也在旁边。HR&nbsp;说我这毛病不是一次两次了,属于屡教不改,不光上班玩手机,还用公司电脑看论文、弄学校的事儿。我当时人都傻了,上班摸鱼是不对,可我都是闲得发慌的时候才摸啊!而且玩手机这事儿,从来没人跟我说过后果这么严重,更没人告诉我在公司学个习也算犯错!连一次口头提醒都没有,哪儿来的屡教不改啊?更让我膈应的是,昨天部门刚开了会,说四个实习生里留一个转正,让大家好好表现。结果今天我就因为玩手机被开了。但搞笑的是,开会前直属领导就把我叫去小会议室,明明白白告诉我:“转正这事儿你就别想了,你的学历达不到我们部门要求,当初招你进来也没打算给你这个机会。”合着我没入贵厂的眼是吧?可我都已经被排除在转正名单外了,摸个鱼至于直接把我开了吗?真的太离谱了!
rush$0522:转正名单没进,大概率本来就没打算留你
摸鱼被leader发现了...
点赞 评论 收藏
分享
01-05 22:56
武汉大学 Java
点赞 评论 收藏
分享
评论
2
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务