华为笔试

华为今天第三题  有人AC吗 一直卡在80%了#华为##笔试题目#
全部评论
我90%
点赞 回复
分享
发布于 2019-09-18 21:18
第三题代码,不知道为啥只能过90% public class Main {     public static void main(String[] args) throws FileNotFoundException {         Scanner sc = new Scanner(new BufferedReader(new FileReader("test.txt"))); //        Scanner sc = new Scanner(System.in);         String str = sc.nextLine();         String[] strs = str.split(":");         int cmd = Integer.valueOf(strs[0]);         if (cmd == 1) {             String num = strs[1].split("_")[1];             System.out.println((Integer.valueOf(num) - 1) * 50);         } else if (cmd == 2) {             int sum = 0;             for (int i = 0; i < strs[1].length(); i++) {                 sum += strs[1].charAt(i);             }             int mod = sum % 999;             while (mod % 50 != 0) {                 mod++;                 mod %= 1000;             }             System.out.println(mod);         } else if (cmd == 3) {             String content = strs[1];             String redis = content.split(";")[0];             String token = content.split(";")[1];             HashSet<Integer> set = new HashSet<>();             String[] redises = redis.split(",");             for (int i = 0; i < redises.length; i++) {                 int num = Integer.valueOf(redises[i].split("_")[1]);                 set.add((num - 1) * 50);             }             int sum = 0;             for (int i = 0; i < token.length(); i++) {                 sum += token.charAt(i);             }             int mod = sum % 999;             while (mod % 50 != 0 || set.contains(mod)) {                 mod++;                 mod %= 1000;             }             System.out.println(mod);         } else if (cmd == 4) {             String content = strs[1];             int num = Integer.valueOf(content.split("_")[2]);             if (num % 2 == 1) num *= 25;             else num = 500 + (num - 1) * 25;             System.out.println(num);         } else if (cmd == 5) {             String content = strs[1];             String redis = content.split(";")[0];             String token = content.split(";")[1];             HashSet<Integer> set = new HashSet<>();             for (int i = 1; i <= Integer.valueOf(redis.split("_")[2]); i++) {                 if (i % 2 == 1) set.add(i * 25);                 else set.add(500 + (i - 1) * 25);             }             int sum = 0;             for (int i = 0; i < token.length(); i++) {                 sum += token.charAt(i);             }             int mod = sum % 999;             while (mod % 25 != 0 || !set.contains(mod)) {                 mod++;                 mod %= 1000;             }             System.out.println(mod);         }     } }
点赞 回复
分享
发布于 2019-09-19 10:06
联易融
校招火热招聘中
官网直投
最后没时间调。。也是80,唉,我竟然第一题花了40分钟。。
点赞 回复
分享
发布于 2019-09-18 21:05
第一题怎么输入
点赞 回复
分享
发布于 2019-09-18 21:07
80%,厉害厉害,我卡在了50%
点赞 回复
分享
发布于 2019-09-18 21:08
考虑转一圈的情况,也就是hashCode975对应的是0,不是1000。反正我是因为这个第一次80%的
点赞 回复
分享
发布于 2019-09-18 21:11
谁能告诉我python第一题是怎么输入
点赞 回复
分享
发布于 2019-09-18 21:13
我70%,全用Java链表转悠的,估计是超时了,除了这个我也想不到其他不通过的理由了....
点赞 回复
分享
发布于 2019-09-18 21:22

相关推荐

点赞 6 评论
分享
牛客网
牛客企业服务