链接: https://oj.leetcode.com/problems/find-minimum-in-rotated-sorted-array/
旋转数组 查找最小值
最小值肯定在旋转轴处 ,所以 用二分搜索找出旋转轴就可以了
每次取中点,前后肯定有一截数是有序,另一截是无序..取无序的那部分继续搜索即可
class Solution { public: int findMin(vector<int> &num) { int l=0,r=num.size()-1; if(num[l]<=num[r]) return num[l]; while(l+1!=r) { int mid=(l+r)/2; if(num[l]<num[mid]) { l=mid; } if(num[mid]<num[r]) { r=mid; } } return num[r]; } };
天下武功,唯快不破
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步