8、旋转数组的最小数字

来源:互联网 发布:干了这碗恒河水 知乎 编辑:程序博客网 时间:2024/06/06 01:12
public class Solution{public int rotateMin(int[] arr){if(arr.length<=0) return -1;if(arr.length==1) return arr[0];int start=0,end=arr.length-1;while(start<end){if(end-start==1)return arr[end]; int mid=(start+end)/2;if(arr[mid]>arr[start]){start=mid;}else if(arr[mid]<arr[start]){end=mid;}else{return minInorder(arr,start,end);}}return arr[start];}public int minInorder(int[] arr,int start,int end){int ret=arr[start];for(int i=start+1;i<=end;i++){if(arr[i]<ret){ret=arr[i];}}return ret;}public static void main(String args[]){int[] arr={3,4,5,1,2};Solution sl=new Solution();System.out.println(sl.rotateMin(arr));}}

0 0
原创粉丝点击