小米笔试
刚做了小米的在线笔试。做的不是很理想。我目前对Java较为熟练。碰到c的指针题思考了很久。碰到php的题目非常意外,因为职位要求上并没有对php的需求。其他包括Http,操作系统,数据库的题都有一点。
编程题第一道是输出二叉树的高度,很基础。第二道是反转英文字符串句子,送分题。
第三道是输入一个字符串序列,要求输出源电话号码。输入的字符串是由电话号码每一位加8后的个位转成其英文单词,再将这个字符串序列打乱。一开始没有思路,在胡思乱想。后来GET到点,之后时间不够,还差几行代码,结果系统关闭了,很烦躁。代码如下
1 import java.util.ArrayList; 2 import java.util.Arrays; 3 import java.util.Scanner; 4 public class Main { 5 6 public static void main(String[] args) { 7 Scanner in = new Scanner(System.in); 8 while (in.hasNext()) { 9 int t = in.nextInt(); 10 for (int i = 0; i < t; i++){ 11 String string = in.nextLine(); 12 caozuo(string); 13 } 14 } 15 } 16 public static void caozuo(String string){ 17 ArrayList<Integer> list = judge(string); 18 for (Integer i : list){ 19 i += 10; 20 i -= 8; 21 i = i % 10; 22 } 23 Object[] objects = list.toArray(); 24 Arrays.sort(objects); 25 for (Object a: objects){ 26 System.out.print(a); 27 } 28 System.out.println(); 29 } 30 31 public static ArrayList<Integer> judge(String s){ 32 ArrayList<Integer> list = new ArrayList<>(); 33 StringBuffer sb = new StringBuffer(s); 34 while (sb.indexOf("G") != -1){ 35 sb.replace(sb.indexOf("G"), sb.indexOf("G")+1,""); 36 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 37 sb.replace(sb.indexOf("I"), sb.indexOf("I")+1,""); 38 sb.replace(sb.indexOf("H"), sb.indexOf("H")+1,""); 39 sb.replace(sb.indexOf("T"), sb.indexOf("T")+1,""); 40 list.add(8); 41 } 42 while (sb.indexOf("X") != -1){ 43 sb.replace(sb.indexOf("S"), sb.indexOf("S")+1,""); 44 sb.replace(sb.indexOf("I"), sb.indexOf("I")+1,""); 45 sb.replace(sb.indexOf("X"), sb.indexOf("X")+1,""); 46 list.add(6); 47 } 48 while (sb.indexOf("Z") != -1){ 49 sb.replace(sb.indexOf("Z"), sb.indexOf("Z")+1,""); 50 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 51 sb.replace(sb.indexOf("R"), sb.indexOf("R")+1,""); 52 sb.replace(sb.indexOf("O"), sb.indexOf("O")+1,""); 53 list.add(0); 54 } 55 while (sb.indexOf("S") != -1){ 56 sb.replace(sb.indexOf("S"), sb.indexOf("S")+1,""); 57 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 58 sb.replace(sb.indexOf("V"), sb.indexOf("V")+1,""); 59 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 60 sb.replace(sb.indexOf("N"), sb.indexOf("N")+1,""); 61 list.add(7); 62 } 63 while (sb.indexOf("V") != -1){ 64 sb.replace(sb.indexOf("F"), sb.indexOf("F")+1,""); 65 sb.replace(sb.indexOf("I"), sb.indexOf("I")+1,""); 66 sb.replace(sb.indexOf("V"), sb.indexOf("V")+1,""); 67 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 68 list.add(5); 69 } 70 while (sb.indexOf("W") != -1){ 71 sb.replace(sb.indexOf("T"), sb.indexOf("T")+1,""); 72 sb.replace(sb.indexOf("W"), sb.indexOf("W")+1,""); 73 sb.replace(sb.indexOf("O"), sb.indexOf("O")+1,""); 74 list.add(2); 75 } 76 while (sb.indexOf("T") != -1){ 77 sb.replace(sb.indexOf("T"), sb.indexOf("T")+1,""); 78 sb.replace(sb.indexOf("H"), sb.indexOf("H")+1,""); 79 sb.replace(sb.indexOf("R"), sb.indexOf("R")+1,""); 80 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 81 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 82 list.add(3); 83 } 84 while (sb.indexOf("F") != -1){ 85 sb.replace(sb.indexOf("F"), sb.indexOf("F")+1,""); 86 sb.replace(sb.indexOf("O"), sb.indexOf("O")+1,""); 87 sb.replace(sb.indexOf("U"), sb.indexOf("U")+1,""); 88 sb.replace(sb.indexOf("R"), sb.indexOf("R")+1,""); 89 90 list.add(4); 91 } 92 while (sb.indexOf("O") != -1){ 93 sb.replace(sb.indexOf("O"), sb.indexOf("O")+1,""); 94 sb.replace(sb.indexOf("N"), sb.indexOf("N")+1,""); 95 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 96 97 list.add(1); 98 } 99 while (sb.indexOf("N") != -1){ 100 sb.replace(sb.indexOf("N"), sb.indexOf("N")+1,""); 101 sb.replace(sb.indexOf("I"), sb.indexOf("I")+1,""); 102 sb.replace(sb.indexOf("N"), sb.indexOf("N")+1,""); 103 sb.replace(sb.indexOf("E"), sb.indexOf("E")+1,""); 104 105 list.add(9); 106 } 107 return list; 108 } 109 }
只要按照英文单词独有的字母,然后一步步解析,就可以了,很简单。
心情烦躁的原因还是自己基础太差,其实显示选择题拖了很久,编程题第一题拖了很久,留给第三题的时间只有十几分钟。怪只能怪自己咯。
这篇文章是我原创的第一篇博客。可能之后都要记录像这样的咸鱼日常了。。

浙公网安备 33010602011771号