public static int minNumberInRotateArray(int [] array) {
if (array==null||array.length==0) {
return 0;
}
int min = Integer.MAX_VALUE;
int start = 0;
int end = array.length-1;
int mid = (start+end)/2;
while (start<end) {
if (array[start]<array[mid]&&array[mid+1]<array[end]) {
min = array[start]<array[mid+1]?array[start]:array[mid+1];
return min;
}
if (array[start]<array[mid]&&array[mid+1]>=array[end]) {
start = mid+1;
mid = (start+end)/2;
}
if (array[start]>=array[mid]&&array[mid+1]<array[end]) {
end = mid;
mid = (start+end)/2;
}
}
return array[start];
}
Array:旋转数组的最小数字
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。