Find Minimum in Rotated Sorted Array

Medium, Binary Search

Question

假设升序序列在某个点被旋转了,寻找最小数。

For Example
(0 1 2 4 5 6 7旋转以后成为 4 5 6 7 0 1 2).

Notes

假设序列中无重复数字

Solution

使用二分搜索。

class Solution(object):
    def findMin(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        L, R = 0, len(nums)-1
        while L<R and nums[L] > nums[R]:
            M = (L+R)/2
            if nums[M] > nums[R]:
                L = M+1
            else:
                R = M
        return nums[L]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容