天天看點

旋轉數組的最小數字

把一個數組最開始的若幹個元素搬到數組的末尾,我們稱之為數組的旋轉。輸入一個非遞減序列的一個旋轉,輸出旋轉數組的最小元素。例如數組{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];
    }
};      

繼續閱讀