【LeetCode】153. 寻找旋转排序数组中的最小值 爱被打了一巴掌 2022-05-08 05:46 173阅读 0赞 **题目链接**:[https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/description/][https_leetcode-cn.com_problems_find-minimum-in-rotated-sorted-array_description] #### 题目描述 #### 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 \[0,1,2,4,5,6,7\] 可能变为 \[4,5,6,7,0,1,2\] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 #### 示例 #### 输入: \[3,4,5,1,2\] 输出: 1 输入: \[4,5,6,7,0,1,2\] 输出: 0 #### 解决方法 #### 类似于[33. 搜索旋转排序数组][33.],用二分查找法 class Solution { public: int findMin(vector<int>& nums) { int min=INT_MAX; int left=0,right=nums.size()-1; while(left<=right){ int mid=(left+right)/2; if (nums[mid]<nums[right]){ if (nums[mid]<min) min=nums[mid]; right=mid-1; } else{ if (nums[left]<min) min=nums[left]; left=mid+1; } } return min; } }; [https_leetcode-cn.com_problems_find-minimum-in-rotated-sorted-array_description]: https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array/description/ [33.]: https://blog.csdn.net/fuqiuai/article/details/82982846
还没有评论,来说两句吧...