劍指offer 旋轉陣列的最小數字
題目描述
把一個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。 輸入一個非遞減排序的陣列的一個旋轉,輸出旋轉陣列的最小元素。 例如陣列{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該陣列的最小值為1。 NOTE:給出的所有元素都大於0,若陣列大小為0,請返回0。
順序查詢當然是可以的,但那樣時間複雜度就是o(n),為了使得時間達到o(logn)就要用二分查詢了
public int minNumberInRotateArray(int [] array) {
int low = 0;
int high = array.length - 1;
while (low < high) {
int mid = low + (high - low) / 2;
if(array[mid] > array[high]) low = mid+1;
else high = mid;
}
return array[low];
}
相關文章
- 劍指offer:旋轉陣列的最小數字陣列
- 【劍指offer】7.旋轉陣列的最小數字陣列
- 【劍指 Offer】11. 旋轉陣列的最小數字陣列
- 劍指 Offer 11. 旋轉陣列的最小數字陣列
- (python版)《劍指Offer》JZ06:旋轉陣列的最小數字Python陣列
- 劍指offer-轉陣列的最小數字-php陣列PHP
- 0二分查詢簡單 牛客NC.71旋轉陣列的最小數字 leetcode劍指 Offer 11. 旋轉陣列的最小數字陣列LeetCode
- 劍指offer面試題11:旋轉陣列的最小數字(Java版已在牛客網AC)面試題陣列Java
- 劍指Offer-34-把陣列排成最小的數陣列
- 劍指offer——把陣列排成最小的數C++陣列C++
- 力扣 - 劍指 Offer 45. 把陣列排成最小的數力扣陣列
- 劍指Offer--陣列中重複的數字陣列
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- 我請大家來刷題:旋轉陣列的最小數字陣列
- Leetcode 劍指 Offer 03. 陣列中重複的數字LeetCode陣列
- 《劍指Offer》- 連續子陣列的最大和或最小和陣列
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 劍指 Offer 56 - I. 陣列中數字出現的次數陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- 面試:Java 實現查詢旋轉陣列的最小數字面試Java陣列
- 劍指offer之列印超過陣列一半的數字陣列
- 旋轉陣列中的最小元素陣列
- 劍指 offer(1) -- 陣列篇陣列
- 劍指offer刷題之路--1.陣列中重複的數字陣列
- 劍指Offer-31-最小的K個數
- [劍之offer] 03 陣列中重複的數字陣列
- 劍指offer之順序列印陣列陣列
- Leetcode 劍指 Offer 40. 最小的k個數LeetCode
- [劍指offer題解][Java]陣列中出現次數超過一半的數字Java陣列
- Leetcode 劍指 Offer 39. 陣列中出現次數超過一半的數字LeetCode陣列
- 【劍指offer】二維陣列中的查詢陣列
- 力扣 - 劍指 Offer 39. 陣列中出現次數超過一半的數字力扣陣列
- 劍指Offer-37-陣列中逆序對陣列
- 【劍指offer】【1】二維陣列中的查詢陣列
- 劍指offer——陣列中的逆序對C++(75%)陣列C++
- 每日一題 - 劍指 Offer 53 - I. 在排序陣列中查詢數字 I每日一題排序陣列
- 劍指offer——斐波那契數列
- 二維陣列中的查詢——牛客劍指offer陣列