当数组中存在重复的数则不能使用
import java.util.*;
public class Main {
static int min(int[] arr) {
int begin = 0;
int end = arr.length - 1;
if(arr[begin] < arr[end]) return arr[begin];
while(begin + 1 < end) {
int mid = begin + ((end - begin) >> 1);
if(arr[mid] >= arr[begin]) { //左侧有序(最小数藏在无序的一边)
begin = mid;
}else {
end = mid;
}
}
return arr[end];
}
public static void main(String[] args) {
int[] arr = {5,6,7,1,2,3};
int res = Main.min(arr);
System.out.println(res);
}
}