把一個數組最開始的若幹個元素搬到數組的末尾,我們稱之為數組的旋轉。輸入一個非遞減序列的一個旋轉,輸出旋轉數組的最小元素。例如數組{3,4,5,1,2}為{1,2,3,4,5}的一個旋轉,該數組的最小值為1。
public int minNumberInRotateArray(vector<int> rotateArray) {
//數組為空時
if(rotateArray.size() == 0)
return -1;
//前部分資料旋轉
for(int i = 0; i < rotateArray.size() - 1; i++){
if (rotateArray[i] > rotateArray[i + 1])
return rotateArray[i + 1];
}
//全部資料旋轉,相當于沒有旋轉,最小數即為第一個數
return rotateArray[0];
}
};