153. Find Minimum in Rotated Sorted Array

来源:互联网 发布:太阳网络 编辑:程序博客网 时间:2024/05/16 13:58

Suppose a sorted array is rotated at some pivot unknown to you beforehand.

(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).

Find the minimum element.

class Solution {public:    int findMin(vector<int>& nums) {        int left = 0;        int right = nums.size() - 1;                while(left<right){            if(nums[left] < nums[right]) return nums[left];            int mid = left + (right - left)/2;            if(nums[mid] < nums[right]) right = mid;            if(nums[mid] >= nums[left])  left = mid + 1;        }        return nums[left];    }};
心得:二分查找 这类题目主要的难点在于 left 和right 的下一状态怎么确定。

运行速度:快

0 0