九度OJ 1386 旋轉陣列的最小數字 演算法

2021-06-20 20:32:53 字數 782 閱讀 5154

題目描述:把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個遞增排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。

輸入:輸入可能包含多個測試樣例,對於每個測試案例,

輸入的第一行為乙個整數n(1<= n<=1000000):代表旋轉陣列的元素個數。

輸入的第二行包括n個整數,其中每個整數a的範圍是(1<=a<=10000000)。

輸出:對應每個測試案例,

輸出旋轉陣列中最小的元素。

樣例輸入:

53 4 5 1 2

樣例輸出:

1

#include #define max 1000000

int n;

int data[max];

int minnum()

if (data[middle] >= data[start])

start = middle;

else if (data[middle] <= data[end])

end = middle;

}return data[start];}

int main(void)

return 0;

}

參考資料:何海濤 -- 程式設計師面試題精選100題(42)-旋轉陣列的最小元素[演算法]

題目1386 旋轉陣列的最小數字

題目描述 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個遞增排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為乙個整數n 1 n 1000000 代表旋轉陣列的元素個數。...

九度 何海濤 旋轉陣列的最小數字

題目描述 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個遞增排序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為乙個整數n 1 n 1000000 代表旋轉陣列的元素個數。...

旋轉陣列的最小元素

題目 把乙個陣列最開始的若干個元素搬到陣列的末尾,我們稱之為陣列的旋轉。輸入乙個排好序的陣列的乙個旋轉,輸出旋轉陣列的最小元素。例如陣列為的乙個旋轉,該陣列的最小值為1。解題 類似二分查詢,使用兩個指標 left right 指向一前一後,一般情況下arr left 一定大於等於arr right ...