网易笔试a了1,3,求个2,4的思路,贴上代码

1. 统计数组中元素可有多少个素数组合,求总和
2. 安排考场问题, E EM M MH H
3. 给一个数组,求总和和。若是和中有数字“5”,则总和为零。保证符合要求的和最大。
4.(GG)两个人分钱,给一组数组,[5,15,30,30,60],求两个人的钱数相同时多余的部分最少是多少
求个2,4思路

#笔试题目##网易#
全部评论
你写的那个博客账号需要开会员吗
点赞 回复
分享
发布于 2020-08-08 19:26
我这次没参加 第四题我的思路是 先排序 b固定为最大的数 a从最前往后加b之前的一个数往前加 小于等于的时候往前累加 等于返回nums[i-1] 大于就把b往前移 重来 不知道对不对
点赞 回复
分享
发布于 2020-08-08 19:27
博乐游戏
校招火热招聘中
官网直投
第三题没看明白题目呀
点赞 回复
分享
发布于 2020-08-08 19:29
4:DFS
点赞 回复
分享
发布于 2020-08-08 19:30
4直接暴力递归,,看限制其他语言4s应该差不多吧,我剪枝前过了70,剪枝后没时间跑了..不知道能不能100
点赞 回复
分享
发布于 2020-08-08 21:13
给你看看我的第二题的思路,不知道思路是不是对的,但是自测用例没问题,就是不给过。。。 public static int testCount() { Scanner in = new Scanner(System.in); int[] testCount = new int[5]; for (int i = 0; i < 5; i++) { testCount[i] = in.nextInt(); } int sum = 0; for (int i = 0; i < testCount.length; i++) { int x, y, z; for (x = 0; x < 2; x++) { if (testCount[x] > 0) break; } for (y = 1; y < 4; y++) { if (x != y && testCount[y] > 0) { break; } } for (z = 3; z < 5; z++) { if (z != y && testCount[z] > 0) { break; } } if (minus(testCount, x, y, z >= 5 ? 4 : z)) sum++; } return sum; } private static boolean minus(int[] testCount, int x, int y, int z) { if (testCount[x] <= 0) { return false; } testCount[x]--; if (testCount[y] <= 0) { return false; } testCount[y]--; if (testCount[z] <= 0) { return false; } testCount[z]--; return true; }
点赞 回复
分享
发布于 2020-08-08 22:51
第三题解法是不是有点问题…
点赞 回复
分享
发布于 2020-08-13 11:07

相关推荐

1 4 评论
分享
牛客网
牛客企业服务