Shopee笔试编程题。。。。
package Test; import java.util.Scanner; public class Shopee { public static int fun(int h, int l) { if (h == 2 ) { return l; }else if (l == 2) { return h; } return fun(h - 1, l) + fun(h, l - 1); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int l = scanner.nextInt(); int h = scanner.nextInt(); scanner.close(); System.out.println(fun(h, l)); } private void t2() { Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); String[] strings = s.split(" "); int[] ins = new int[65535]; int a, total = 0; for(int i = 0; i < strings.length; i++) { a = Integer.valueOf(strings[i]); if (ins[a] < a) { ins[a]++; total++; } } scanner.close(); System.out.println(total); } private void t1() { Scanner scanner = new Scanner(System.in); String string = scanner.nextLine(); scanner.close(); string = string.replace(".", " "); String[] strings = string.split(", "); boolean flag = false; String[] a = strings[0].split(" "); String[] b = strings[1].split(" "); for(int i = 0; i < a.length; i++) { if (Integer.valueOf(a[i]) > Integer.valueOf(b[i])) { System.out.println(1); flag = !flag; break; }else if (Integer.valueOf(a[i]) < Integer.valueOf(b[i])) { System.out.println(-1); flag = !flag; break; } } if (!flag) { System.out.println(0); } } }
第一题,字符串分割 ,然后对比版本号数字大小。。。简单。。。。。
第二题,字符串数组一个一个转为数字,判断这个数字出现次数,如果小于这个数字,计数+1, 数组长度+1,简单。。。。
第三题,本来是一个dfs搞定? 但是我忘了。。。于是研究了一个小时的规律,写了个递归,然后,编译成功,结果正确,正打算复制到浏览器提交,正在排队交卷。考试结束,GG。😱 (就差几十秒复制代码时间啊啊啊,气晕)
#Shopee#