
求解代码
对旋转数组来说,右子数组的数值整体更小,左子数组的数值整体更大。
数组的最小值一定是右子数组的第一个元素。
java
public int minNumberInRotateArray (int[] nums) {
if(nums.length==0){
return 0;
}
int i=0;
int j=nums.length-1;
while(i<j){
int mid = i+((j-i)>>1);
if(nums[mid]>nums[j]){
i=mid+1;
}else if(nums[mid]<nums[j]){
j=mid;
}else{
j--;
}
}
return nums[i];
}