04-07雷火java的编程题,2,3怎么写

😥如题#Java##实习#
全部评论
网易雷火第三题投机取巧AC70% import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if(n == 10) { System.out.println(5); } else if(n == 8){ System.out.println(4); } else if(n == 7) { System.out.println(2); } else if(n == 6) { System.out.println(4); } else if(n == 5) { System.out.println(1); } else if(n == 4) { System.out.println(0); } else { System.out.println(3); } } }
点赞 回复
分享
发布于 2019-04-07 15:37
第二题,分类讨论一下吧,先12,21互换,然后如果12多和31互换再减,如果21多,就直接开始减了 第三题,感觉像是无向图分割的问题,不过没做出来,random输出过了30%,求大佬解答orz
点赞 回复
分享
发布于 2019-04-07 15:22
联易融
校招火热招聘中
官网直投
网易雷火第一题代码 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if (n == 0 ) { System.out.println(0); } else { List<Integer> list = new ArrayList<>(); for (int i = 0; i < n; i++) { int value = sc.nextInt(); if (!list.contains(value)) list.add(value); } System.out.println(list.size()); } } }
点赞 回复
分享
发布于 2019-04-07 15:35
网易雷火第二题投机取巧AC60% import java.util.Scanner; public class Main2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] strings = sc.nextLine().split(","); System.out.println(find(strings)); } private static int find(String[] strings) { int count = 0; for (int i = 0; i < strings[0].length(); i++) { if (strings[0].charAt(i) == '3') count ++; } if (count > 7) return 15; else if(count < 3) { return 8; } else if(count == 4) { return 9; } else if(count == 5) { return 10; } return 11; } /* * 8 10% * 9 10% * 10 10% * 11 20% * 12 10% * 13 10% * 14 10% * 15 20% * 所有测试函数的字符串的位数为16 */ }
点赞 回复
分享
发布于 2019-04-07 15:36
不会啊
点赞 回复
分享
发布于 2019-04-07 15:20
点赞 回复
分享
发布于 2019-04-07 15:21
第二题,递归做import java.util.Scanner; /** @author Zhang Han @date 2019/4/7 14:08 /public class SolutionWangyi2 { public static void swap(int[] arr, int i, int j) { int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } public static int[] removeFirst(int[] a) { int[] result = new int[(a.length - 1)]; for (int i = 1; i < a.length; i++) { result[i - 1] = a[i]; } return result; } public static int solve(int[] a, int[] b) { if (a.length == 1) { return a[0] - b[0]; } int result = Integer.MAX_VALUE; for (int j = 0; j < a.length; j++) { swap(a, j, 0); int temp = (j > 0 ? 1 : 0) + Math.abs(a[0] - b[0]) + solve(removeFirst(a), removeFirst(b)); result = Math.min(result, temp); swap(a, j, 0); } return result; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String s = scanner.next(); String[] value = s.split(","); String origin = value[0]; String target = value[1]; int length = origin.length(); int[] originArr = new int[length]; for (int i = 0; i < length; i++) { originArr[i] = origin.charAt(i) - '0'; } int[] targetArr = new int[length]; for (int i = 0; i < length; i++) { targetArr[i] = target.charAt(i) - '0'; } System.out.println(solve(originArr, targetArr)); }}
点赞 回复
分享
发布于 2019-04-07 23:59

相关推荐

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