旋轉數組的最小數字

package 旋轉數組的最小數字;
/*題目描述:把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的
旋轉。輸入一個遞增排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如數
組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲 1.*/


public class Problem11 {


public static void main(String[] args) {
Problem11 problem11=new Problem11();
int[] array={3,4,5,1,2};
Integer aInteger=problem11.printMinNum(array);
System.out.println(aInteger);
}

public Integer printMinNum(int[] array){
int start=0;
int end=array.length-1;
int mid=start;
while(array[start]>=array[end]){
mid=(start+end)>>1;
if((end-start)==1){
mid=end;
break;
}
if(array[start]==array[mid]&&array[mid]==array[end]){
int min=0;
for(int i=0;i<array.length;i++){
if(array[i]>min){
min=array[i];
}
}
array[mid]=min;
}
if(array[mid]>=array[start]){
start=mid;
}
if(array[mid]<=array[end]){
end=mid;
}

}
return array[mid];
}
}
發佈了19 篇原創文章 · 獲贊 0 · 訪問量 8344
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章