4:对数器
4:对数器
没有OJ怎么办?
问题,总有办法解决,有差办法比如纯暴力的尝试,有最优解。总可以搞出2种以上的解决思路。
产生随机数据在2套思路中跑出来的数据进行对比,如果几百万次,几千万次,跑出来的结果都是一样的,小概率事件:我们写的最优解出错。
1 public static void main(String[] args) {
2 int testTime = 500000;
3 int maxSize = 100; //随机数组的长度0~100
4 int maxValue = 100; //值 -100~100之间
5 boolean succeed = true;
6 for (int i = 0; i < testTime; i++) {
7 int[] arr1 = generateRandomArray(maxSize, maxValue);
8 int[] arr2 = copyArray(arr1);
9 bubbleSort(arr1);
10 comparator(arr2);
11 if (!isEqual(arr1, arr2)) {
12 succeed = false;
13 break;
14 }
15 }
16 System.out.println(succeed ? "Nice!" : "Fucking fucked!");
17
18 }
1 public static int[] generateRandomArray(int maxSize, int maxValue) {
2 int[] arr = new int[(int) ((maxSize + 1) * Math.random())];
3 for (int i = 0; i < arr.length; i++) {
4 arr[i] = (int) ((maxValue + 1) * Math.random()) - (int) (maxValue * Math.random());
5 }
6 return arr;
7 }

浙公网安备 33010602011771号