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

2022-06-19 10:30:13 字數 445 閱讀 8927

solution 2:然後看到別人有二分,我就思考了一下:

如果right的值大於mid的值,則右半部分肯定是有序的,接下來搜尋左半部分就好了

如果right的值等於mid的值,即有可能是全部都有序(全部是同乙個值),也有可能最小值在左半部分(2 1 2 2 2 2)或最小值在右半部分(2 2 2 2 1 2)

如果right的值小於mid的值,則最小值肯定在右半部,並且肯定不是mid!!

最上面是二分,二分真的好快啊啊啊!!少用乙個變數在提交擊敗量中提高了好多!!

// solution 1

class solution

return numbers[l];}}

else l = mid+1;

}return numbers[l];

}};

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

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

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

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

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

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