剑指offer第八题,想到用二分查找来实现,但是具体的实现思路没有得出,参考书中思路写了以下代码
package com.zjy.sword2offer;
public class RotateMin {
public static int Min(int[] a){
if(a==null||a.length<=0)
return -1;
int begin = 0;
int end = a.length - 1;
int mid = 0;
while(a[begin]>=a[end])
{
if(end-begin==1)
{
mid = end;
break;
}
mid = (begin + end)/2;
if(a[mid]>=a[begin])
begin = mid;
else if(a[mid]<=a[end])
end = mid;
}
return a[mid];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = {1,0,1,1,1,1};
//int[] arr1 = {};
int min = Min(arr);
System.out.println(min);
}
}