人人面试交卷了,选择题好难啊~!大家进来交流一下吧~

有都会的吗,感觉好多题都是高数的,我这块好薄弱啊~好几道题都是瞎猜的,尤其是文法那道题😂😂,编程题倒是不难…主要是选择题,好紧张…
全部评论
编程题Ac3 条 然而网易的教训告诉我 没机会的。。。
点赞
送花
回复 分享
发布于 2017-04-27 00:42
请问第二个编程,思路是什么啊,一直是30%,不知道n有什么用,是不是我没看懂啊
点赞
送花
回复 分享
发布于 2017-04-26 16:40
秋招专场
校招火热招聘中
官网直投
编程题好水
点赞
送花
回复 分享
发布于 2017-04-26 16:45
//第一道题 100% import java.util.Scanner; public class Main1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int count = sc.nextInt(); int[] array = new int[count]; String s = sc.nextLine(); System.out.println(s); for (int i = 0; i < count; i++) { array[i] = sc.nextInt(); } int result = getMaxDivisor(array); System.out.println(result); } public static int getMaxDivisor(int[] array) { int minN = getMin(array); for (int j = minN; j >= 2; j--) { int count = 0; for (int i = 0; i < array.length; i++) { if (array[i] % j == 0) { count++; } } if (count == array.length) { return j; } } return 1; } public static int getMin(int[] a) { if (a.length < 1) { return -1; } int min = a[0]; for (int i = 0; i < a.length; i++) { if (min > a[i]) { min = a[i]; } } return min; } } //第二道 100% import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int remain = (240 - m) / 5;// 题目编号的总数要小于等于这个数 int r = n * (1 + n) / 2; while (r > remain) { n--; r = n * (1 + n) / 2; } System.out.println(n); } } //第三道 80% 实在查不出来剩下的20%了 import java.util.Scanner; public class Main2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int count = sc.nextInt(); int[] array = new int[count]; for (int i = 0; i < count; i++) { array[i] = sc.nextInt(); } // 调用一个函数 // System.out.println(1); int result = f(array); System.out.println(result); } } private static int f(int[] array) { // TODO Auto-generated method stub if (array.length == 0 || array.length == 1) { return 0; } int count = 0; int sum = 0; for (int i = 0; i < array.length; i++) { // System.out.println(array[i]); sum = sum + array[i]; } // System.out.println("sum:" + sum); if (sum % 2 == 1) return count; int mid = sum / 2; if (sum == mid) { count--; } sum = 0; for (int i = 0; i < array.length; i++) { sum = sum + array[i]; if (sum == mid) { count++; } } return count; } }
点赞
送花
回复 分享
发布于 2017-04-26 18:40
1.分巧克力 (AC100%) #include <iostream> using namespace std; int chocolate[100]; int gcd(int a, int b) { return (a % b == 0 ? b : gcd(b, a % b)); } int main(int argc, char const *argv[]) { int n; int tmp; cin >> n; cin >> chocolate[0]; tmp = chocolate[0]; for(int i = 1; i < n; ++i) { cin >> chocolate[i]; tmp = gcd(tmp, chocolate[i]); } cout << tmp << endl; return 0; } 2.除夕夜A (AC100%) #include <iostream> using namespace std; const int SUM_SECOND = 240; int main(int argc, char const *argv[]) { int n; // 题数 int m; // 走出房间时间 cin >> n; cin >> m; int res = 0; // 做的题数 int sumTime = SUM_SECOND - m; while(res < n) { sumTime -= (res + 1) * 5; if(sumTime >= 0) { ++res; } else { break; } } cout << res << endl; return 0; } 3.求和A (AC100%) #include <iostream> using namespace std; const int MAX = 1e6; int num[MAX]; int leftSum[MAX]; // leftSum[i]表示num[0] + num[1] + ... + num[i] int righSum[MAX]; // rightSum[i]表示num[i] + num[i + 1] + ... + num[n - 1] void cntLeftEqualsToRight(int n) { int res = 0; // left to right cin >> num[0]; int tmp = num[0]; leftSum[0] = tmp; for(int i = 1; i < n; ++i) { cin >> num[i]; tmp += num[i]; leftSum[i] = tmp; } // right to left tmp = num[n - 1]; righSum[n - 1] = tmp; for(int i = n - 2; i >= 0; --i) { tmp += num[i]; righSum[i] = tmp; if(righSum[i + 1] == leftSum[i]) { ++res; } } cout << res << endl; } int main(int argc, char const *argv[]) { int n = 9; while(cin >> n != NULL) { cntLeftEqualsToRight(n); } return 0; }
点赞
送花
回复 分享
发布于 2017-04-26 21:34
人人招不了几个人
点赞
送花
回复 分享
发布于 2017-04-27 00:47

相关推荐

头像
不愿透露姓名的神秘牛友
04-16 22:40
投递美团等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务