Untitled
unknown
plain_text
2 years ago
680 B
15
Indexable
class Solution {
public:
int findMin(vector<int>& arr) {
int l=0,r=arr.size()-1;
int ans=INT_MAX;
while(l<=r){
if(arr[l]<arr[r]){
return min(ans,arr[l]); // the method stops working when our array gets sorted,our method only works till array remains rotated
}
int mid =l+(r-l)/2;
ans=min(ans,arr[mid]);
if(arr[mid] >= arr[l]){ // if we are in left sorted we go to right
l=mid+1;
}else{ //if we are in right sorted , we decrease our right sorted range
r=mid-1;
}
}
return ans;
}
};Editor is loading...