小米笔试

  刚做了小米的在线笔试。做的不是很理想。我目前对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 }

  只要按照英文单词独有的字母,然后一步步解析,就可以了,很简单。

  心情烦躁的原因还是自己基础太差,其实显示选择题拖了很久,编程题第一题拖了很久,留给第三题的时间只有十几分钟。怪只能怪自己咯。

  这篇文章是我原创的第一篇博客。可能之后都要记录像这样的咸鱼日常了。。

posted @ 2016-09-23 21:28  famiko  阅读(833)  评论(1)    收藏  举报