[Leetcode]Find Minimum in Rotated Sorted Array

mac2022-06-30  20

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.

You may assume no duplicate exists in the array.

比较简单,只是旋转了一次,我们也用二分查找。和最右边的值作比较,比最右边的值大,说明在mid右边,所以left = mid +1;

比右边值小,说明在mid左边,所以right=mid-1

 

1 class Solution { 2 public: 3 int findMin(vector<int> &num) { 4 int left=0,right = num.size()-1; 5 while(left<=right){ 6 int mid=(right+left)/2; 7 if(num[mid]>num[num.size()-1]) 8 left = mid + 1; 9 else 10 right = mid -1; 11 } 12 return num[left]; 13 } 14 };

 

转载于:https://www.cnblogs.com/desp/p/4345775.html

最新回复(0)