劍指 Offer 11 旋轉陣列的最小數字

2022-09-09 21:39:29 字數 861 閱讀 9769

一、暴力法

這次所使用的暴力法還蠻欣賞的,緊抓陣列的結構性質進行暴力解決

4* 根據陣列元素的構造規則,

5* 只要遇到比第乙個元素小的數,這個數就是陣列最小數字,否則第乙個元素就是最小數字6*/

7var minarray = function

(numbers)

14return

pre;

15 };

二、遞迴二分法「暴力是解決不了問題的」(我們都是斯文人,hh~)

重要的思想收穫:

使用二分法去查詢資料,其中的資料不一定非得有序;我們只需有能力(資料的存放方式讓你有這個能力)知道要查詢的東西在這邊還是在那邊。

4* 二分搜尋

5* 判斷最小值在左半部分還是在右半部6*/

7var minarray = function (numbers, left = 0, right = numbers.length - 1) ;

劍指offer 11旋轉陣列中最小的數字

把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個非遞減排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。note 給出的所有元素都大於0,若陣列大小為0,請返回0。第一種方法 從頭開始遍歷,當遇到不滿足非遞減排序規律的那個數時,那就是旋...

劍指offer11 旋轉陣列的最小數字

把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個公升序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。陣列可能包含重複項。注意 陣列內所含元素非負,若陣列大小為0,請返回 1。樣例 輸入 nums 2,2,2,0,1 輸出 0思路 首先判...

劍指Offer 11 旋轉陣列的最小數字

題目 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個遞增排序陣列的乙個旋轉,輸出旋轉陣列的最小元素,例如,陣列為的乙個旋轉,該陣列的最小值為1.思路 設定兩個指標。利用二分查詢法。第乙個指標指向第乙個元素,第二個指向最後乙個元素。找到陣列的中間元素,如果中間的元素大於第乙...