后端开发岗 什么A卷
个人感觉,选择题难度挺大,回忆一下
涉及:
1、内核干预线程、进程切换?内核干预进程间通信?
2、prim生成最小树
3、先来先服务算法
4、矩阵连乘法
5、NP、NPC,这个我真的不知道什么鬼
6、收邮件的协议
7、linux的rpm包存放在哪?
8、5m邮件,摘要有多大?
9、pv操作
10、静态方法在哪?堆栈?
11、等待输入时,进程处于什么状态?
12、哈夫曼树、二分查找。。。
中间还混着Java、C++的题目
算法。
第一题 暴力 AC
public static void main(String[] args) { Scanner in = new Scanner(System.in); int i = in.nextInt(); String[] test = new String[i]; for (int j = 0; j < i; j++) { test[j] = in.next(); } int count = 0; for (int j = 0; j < i; j++) { String s = test[j]; if (s.length()>10) { continue; } char[] chars = s.toCharArray(); int time = 0; for (int k = 0; k < chars.length; k++) { if (!(('a'<= chars[k]&&chars[k]<= 'z')||('A'<= chars[k]&&chars[k]<= 'Z'))) { break; } time = time+1; } if (time != chars.length) { continue; } count++; } System.out.println(count); }第二题,编程完毕!!!系统崩了!!!! 没有提及上
我也是暴力搞的,实在没想出这题有什么技巧
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); int M = in.nextInt(); int[] arr = new int[N]; for (int i = 1; i <= N; i++) { arr[i] = i; } int[] doth = new int[M]; for (int i = 0; i < M; i++) { doth[i] = in.nextInt(); if (doth[i] == 1) { arr = first(arr); } if (doth[i] == 2) { arr = second(arr); } } for (int i = 0; i < N; i++) { System.out.print(arr[i] + " "); } } private static int[] first(int[] arr) { int start = arr[0]; for (int i = 0; i < arr.length-1; i++) { arr[i] = arr[i+1]; } arr[arr.length-1] = start; return arr; } private static int[] second(int[] arr) { for (int i = 0; i < arr.length; i +=2) { int i1 = arr[i]; int i2 = arr[i + 1]; arr[i] = i2; arr[i+1] = i1; } return arr; } }
全部评论
(6) 回帖