美文网首页数据结构与算法
旋转数组的最小数子

旋转数组的最小数子

作者: 而立之年的技术控 | 来源:发表于2019-12-20 19:05 被阅读0次
    微信图片_20191220190256.jpg
    ##### 【解法一:遍历】####
    class Solution:
        def minNumberInRotateArray(self, rotateArray):
            # write code here
            if len(rotateArray)==0:
                return 0
            if len(rotateArray) == 1:
                return rotateArray[0]
            else:
                for index in range(1, len(rotateArray)):
                    if rotateArray[index] < rotateArray[index-1]:
                        return rotateArray[index]
    ##### 【解法一:二分法】####
    class Solution:
        def minNumberInRotateArray(self, rotateArray):
            # write code here
            left = 0
            right = len(rotateArray) - 1
            while left <= right:
                mid = (left + right) >> 1
                if rotateArray[mid] > rotateArray[mid+1]:
                    return rotateArray[mid+1]
                if rotateArray[mid] > rotateArray[right]:
                    left = mid
                else:
                    right = mid
    

    相关文章

      网友评论

        本文标题:旋转数组的最小数子

        本文链接:https://www.haomeiwen.com/subject/umwinctx.html