牛客-劍指offer 06 | 旋轉數組的最小數字

題目描述

把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。
輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。
例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。
NOTE:給出的所有元素都大於0,若數組大小爲0,請返回0。

題解

因爲輸入的數組爲遞減數組的旋轉,所以遍歷數組,如果當前元素比上一個元素小時,當前元素就是旋轉之前數組的第一個元素,也就是最小的一個元素:

# -*- coding:utf-8 -*-
class Solution:
    def minNumberInRotateArray(self, rotateArray):
        # write code here
        if len(rotateArray) == 0:
            return 0
        
        flag = -1
        for num in rotateArray:
            if num < flag:
                return num
            else:
                flag = num
                
        return flag
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章