面試題11 旋轉陣列的最小數字

2022-02-06 22:47:41 字數 671 閱讀 5722

<?php/**

* 面試題11. 旋轉陣列的最小數字

* 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個遞增排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如,陣列 [3,4,5,1,2] 為 [1,2,3,4,5] 的乙個旋轉,該陣列的最小值為1。

* * 示例 1:

* * 輸入:[3,4,5,1,2]

* 輸出:1

* 示例 2:

* * 輸入:[2,2,2,0,1]

* 輸出:0 */

class

solution

$min = 0;

$max = $count -1;

while(true

)elseif ($numbers[$mid] <$numbers[$max

]) else

if ($max - $min

< 2)

}return

min($numbers[$max],$numbers[$min

]); }

}$solution = new

solution();

$numbers = [3, 4, 5, 1, 2];

var_dump($solution->minarray($numbers));

面試題11 旋轉陣列的最小數字

題目描述 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。note 給出的所有元素都大於0,若陣列大小為0,請返回0。解題思路 輸入的陣列為非減排序陣列的旋轉,陣列分為兩個排好序的陣...

面試題11 旋轉陣列的最小數字

題目描述 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。note 給出的所有元素都大於0,若陣列大小為0,請返回0。類似二分查詢,旋轉陣列由兩個有序陣列組成 class solut...

面試題11 旋轉陣列的最小數字

把乙個陣列最開始若干個元素搬到陣列的末尾 一般方法遍歷,o n 將這個陣列看作是兩個排序陣列 利用二分查詢的思想,比較中間的數字與兩頭 如果中間元素位於第乙個遞增陣列,大於 等於第乙個指標,範圍 右邊 如果中間元素位於後面遞增陣列,它應該小於 等於第二個指標 左邊 注意改變後指向中間元素 最後結果是...