1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
class Solution { public: int findMin(vector<int>& nums) { return find_min_with_binary(nums,0,nums.size()-1); } int find_min_with_binary(vector<int> &nums, int left, int right) { if(left == right) return nums[left]; else if(left+1 == right) return min(nums[left],nums[right]); int mid = left+(right-left)/2; if(nums[mid] < nums[right]) return min(nums[mid], find_min_with_binary(nums,left,mid)); else return find_min_with_binary(nums,mid+1,right); } };
|
近期评论