阿里4.15笔试
4.15阿里笔试练手(因为无hc)
三道编程题:
1.九键根据按数字次数输出字母:a了
2.四子棋:a了(应该),但是写的太慢了,写完没交上去
3.树的两个节点价值差值最小:面向结果编程,10%
以下为代码:
第一题:
第二题:
import java.util.Scanner; public class Main1 { public static void main(String[] args) { Scanner in=new Scanner(System.in); String s=in.nextLine(); for(int i=0;i<s.length();i++){ int count=0; while (i+1<s.length() && s.charAt(i)==s.charAt(i+1)){ count++; i++; } if(i+1>=s.length()){ break; } if(s.charAt(i)=='2'){ count%=3; char c='A'; if(count==1){ c='A'+1; }else if(count==2){ c='A'+2; } System.out.print(c); } if(s.charAt(i)=='3'){ count%=3; char c='D'; if(count==1){ c='D'+1; }else if(count==2){ c='D'+2; } System.out.print(c); } if(s.charAt(i)=='4'){ count%=3; char c='G'; if(count==1){ c='G'+1; }else if(count==2){ c='G'+2; } System.out.print(c); } if(s.charAt(i)=='5'){ count%=3; char c='J'; if(count==1){ c='J'+1; }else if(count==2){ c='J'+2; } System.out.print(c); } if(s.charAt(i)=='6'){ count%=3; char c='M'; if(count==1){ c='M'+1; }else if(count==2){ c='M'+2; } System.out.print(c); } if(s.charAt(i)=='7'){ count%=4; char c='P'; if(count==1){ c='P'+1; }else if(count==2){ c='P'+2; }else if(count==3){ c='P'+3; } System.out.print(c); } if(s.charAt(i)=='8'){ count%=3; char c='T'; if(count==1){ c='T'+1; }else if(count==2){ c='T'+2; } System.out.print(c); } if(s.charAt(i)=='9'){ count%=4; char c='W'; if(count==1){ c='W'+1; }else if(count==2){ c='W'+2; }else if(count==3){ c='W'+3; } System.out.print(c); } } } }
第二题:
import java.util.Scanner; public class Main2 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt(); String sss = in.nextLine(); String[][] num = new String[n][m]; for (int i = 0; i < n; i++) { String s = in.nextLine(); num[i] = s.split(""); } int result = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (i + 3 >= n || j + 3 >= m) { break; } else if (("r".equals(num[i][j]) && "r".equals(num[i][j + 1]) && "r".equals(num[i][j + 2]) && "r".equals(num[i][j + 3])) || ("r".equals(num[i][j]) && "r".equals(num[i + 1][j + 1]) && "r".equals(num[i + 2][j + 2]) && "r".equals(num[i + 3][j + 3])) || ("r".equals(num[i][j]) && "r".equals(num[i + 1][j]) && "r".equals(num[i + 2][j]) && "r".equals(num[i + 3][j]))) { result = 1; break; } else if (("p".equals(num[i][j]) && "p".equals(num[i][j + 1]) && "p".equals(num[i][j + 2]) && "p".equals(num[i][j + 3])) || ("p".equals(num[i][j]) && "p".equals(num[i + 1][j + 1]) && "p".equals(num[i + 2][j + 2]) && "p".equals(num[i + 3][j + 3])) || ("p".equals(num[i][j]) && "p".equals(num[i + 1][j]) && "p".equals(num[i + 2][j]) && "p".equals(num[i + 3][j]))) { result = 2; break; } } } if (result == 0) { System.out.println("to be continued"); } else if (result == 1) { System.out.println("kou"); } else if (result == 2) { System.out.println("yukari"); } } }