首页 > 代码库 > Leetcode | Find Minimum in Rotated Sorted Array
Leetcode | Find Minimum in Rotated Sorted Array
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.
二分查找就行了。
1 class Solution { 2 public: 3 int findMin(vector<int> &arr) { 4 if (arr.empty()) return -1; 5 int l = 0, h = arr.size() - 1, m, min = INT_MAX; 6 while (l <= h) { 7 m = l + (h - l) / 2; 8 if (arr[m] >= arr[l]) { 9 if (min > arr[l]) min = arr[l];10 l = m + 1;11 } else {12 if (arr[m] < min) min = arr[m];13 h = m - 1;14 }15 }16 return min;17 }18 };
即使是有重复元素也是一样。
Leetcode | Find Minimum in Rotated Sorted Array
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。