11 旋轉陣列的最小數字

2021-10-19 11:21:23 字數 1272 閱讀 7803

class

solution1

int res = array[0]

;//遍歷陣列,找出最小值

for(

int i =

1; i < array.length; i++)}

return res;

}}

class

solution2

if(nums.length ==

1|| nums[nums.length -1]

> nums[0]

)int p1 =0;

//定義頭部指標

int p2 = nums.length -1;

//定義尾部指標

int mid = p1;

//定義中部指標

while

(p1 < p2)

int mid =

(p1 + p2)/2

;if(array[mid]

<= array[p1])if

(array[mid]

>= array[p2]

}return nums[mid];}

}

class

solution3

if(nums.length ==

1|| nums[nums.length -1]

> nums[0]

)int p1 =0;

//定義頭部指標

int p2 = nums.length -1;

//定義尾部指標

int mid = p1;

//定義中部指標

while

(nums[p1]

>

= nums[p2]

)int mid =

(p1 + p2)/2

;/******************************************/

/******************修改處*****************/

if(nums[p1]

== nums[p2]

&& nums[mid]

== nums[p1]

)return result;}}

if(array[mid]

<= array[p1])if

(array[mid]

>= array[p2]

}return nums[mid];}

}

11 旋轉陣列的最小數字

把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。我的 二分法 class min defsolution self,nums a nums 0 b nums 1 iflen num...

11 旋轉陣列的最小數字

二分法搜尋方法 include using namespace std intmin int numbers,int length int index1 0 int index2 length 1 int indexmid index1 while numbers index1 numbers in...

11 旋轉陣列的最小數字

把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個遞增排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如,陣列 3,4,5,1,2 為 1,2,3,4,5 的乙個旋轉,該陣列的最小值為1。輸入 3,4,5,1,2 輸出 1 輸入 2,2,2,0,1 輸出 0 此題很容易想到順...