parent
11c46f9587
commit
cdbdf836b8
@ -0,0 +1,55 @@
|
|||||||
|
package leo.class02;
|
||||||
|
|
||||||
|
import leo.util.ArrayUtil;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Leo
|
||||||
|
* @ClassName GetMax
|
||||||
|
* @DATE 2020/11/21 7:52 下午
|
||||||
|
* @Description
|
||||||
|
*/
|
||||||
|
public class GetMax {
|
||||||
|
|
||||||
|
public static int getMax(int[] arr) {
|
||||||
|
int max = process(arr, 0, arr.length - 1);
|
||||||
|
return max;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int process(int[] arr, int L, int R) {
|
||||||
|
if (L == R) {
|
||||||
|
return arr[L];
|
||||||
|
}
|
||||||
|
int mid = L + ((R - L) >> 1);
|
||||||
|
int leftMax = process(arr, 0, mid);
|
||||||
|
int rightMax = process(arr, mid + 1, R);
|
||||||
|
return Math.max(leftMax, rightMax);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static int testGetMax(int[] arr) {
|
||||||
|
Arrays.sort(arr);
|
||||||
|
return arr[arr.length - 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args){
|
||||||
|
int maxSize = 10;
|
||||||
|
int range = 100;
|
||||||
|
int testTime = 100;
|
||||||
|
System.out.println("Start!");
|
||||||
|
|
||||||
|
for (int i = 0; i < testTime; i++) {
|
||||||
|
int[] arr = ArrayUtil.randomAdjacentNotEqualArray(maxSize, range);
|
||||||
|
int max = getMax(arr);
|
||||||
|
int testMax = testGetMax(arr);
|
||||||
|
if (max != testMax) {
|
||||||
|
System.out.println("fuck");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println("End!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in new issue