简单的二分搜索,需要注意的是,二分搜索中, Left=Mid+1, Right=Mid-1;
在这题中,需要特别注意的是判断语句:
if(num[len-1]<num[Mid])
Left=Mid+1;
class Solution { public: int findMin(vector<int> &num) { int len=num.size(); int Left,Right,Mid; Left=0; Right=len-1; while(Left<=Right) { Mid=Left+(Right-Left)/2; if(num[len-1]<num[Mid]) Left=Mid+1; else Right=Mid-1; } return num[Left]; } };
时间: 2024-11-08 18:42:39