- 这道题感觉坑还是很多的,我有很多条件都没有考虑清楚
- if判断条件 对mid 和high 还有low 的递增和递减 盲目的去设计,导致执行多次都没有成功
public int minNumberInRotateArray(int [] array) {
if(array.length==0){
return 0;
}
int left=0;
int right=array.length-1;
int mid=0;
while(left<right){
mid=left+(right-left)/2;
if(array[mid]>array[right]){//包括array
left=mid+1;
}else if(array[mid]==array[right]){
right=right-1;
}else {
right=mid;
}
}
return array[left];
}
来源:CSDN
作者:qq_43641886
链接:https://blog.csdn.net/qq_43641886/article/details/104071448