04.15网易互娱 笔试

1、求最大路径
1.1、先根据中序和后序构造出原来的二叉树
1.2、再根据递归最大路径算法求出两个结点之间的最大路径
100%

2、LRU
一开始我用的Java标准库的LinkedList,超时了,只过了85%
后来自己实现了一个双向链表,HashMap里储存的是Node,100%

3、BFS
第一层是1跳就能到达终点的
第二层是要么在最左的一步右边,要么是i+jumps[i]刚好跳到一步的那些点
第三层要么是在最左边的两步的右边,要么是i+jumps[i]刚好跳到两步的那些点
...
就是标准的BFS算法,不知道为什么只过了20%
#笔试题目##实习#
全部评论
我第三题测试用例全过了...但只要提交就是0%。。。关键我直接输出常数1,2,3这种,也都是通过0%。。不知道哪里有问题。。
2 回复 分享
发布于 2022-04-15 21:38
第三题同样bfs过20
点赞 回复 分享
发布于 2022-04-15 21:37
两次笔试为啥难度差距这么大 上次三道hard中hard
点赞 回复 分享
发布于 2022-04-15 21:56
第一题我没建树,之间用数组下标,只过了80,然后报了段错误,😂不知道什么原因
点赞 回复 分享
发布于 2022-04-15 22:21
有没有大佬帮看,用例过了一个case都没过 ··· int main(){     /* case:      5     2 5 1 1 1     */     int n;     cin>>n;     vector<int> nums(n);     vector<int> res(n,0);     for (int i=0; i<n; ++i){         cin >> nums[i];     }     // 两趟     int count=1;     for (int i=0; i<n; ++i){         if (nums[i]+i<n){             res[nums[i]+i]=count++;         }     }     int minStep = INT_MAX;     for (int i=n-1; i>0; --i){         if (res[i]!=0){             minStep=min(minStep,res[i]+1);         }else{             res[i] = minStep;         }     }     int result = INT_MAX;     // for (int i=0; i<n; ++i){     //     cout << res[i] << ' &(5528)#39;;     // }     for (int i=0; i<n; ++i){         if (i+nums[i]>=n){             result = min(result, res[i]+1);         }     }     cout << result; } ···
点赞 回复 分享
发布于 2022-04-15 22:35
这次的也是一大堆文字的描述题吗?
点赞 回复 分享
发布于 2022-04-17 09:10
据说是因为第三题某些样例有多组输入。
点赞 回复 分享
发布于 2022-04-17 11:02

相关推荐

昨天 11:51
已编辑
门头沟学院 Java
京东 零售sp 45 本科南昌大学, 研究生西安交通大学
聪明绝顶的一碗饭:我怎么只看到一个选择
点赞 评论 收藏
分享
Java抽象带篮子:难蚌,点进图片上面就是我的大头😆
点赞 评论 收藏
分享
3 9 评论
分享
牛客网
牛客企业服务