本文主要是介绍leetcode 081 Search in Rotated Sorted Array II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Follow up for "Search in Rotated Sorted Array":
What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given target is in the array.
Subscribe to see which companies asked this question
class Solution {
public:bool search(vector<int>& nums, int target) {int len = nums.size();if(len==0) return -1;int pivot=0, i=0;for(i=1; i<len; i++) {if(nums[i] < nums[i-1]) {pivot=i;break;}}int left = 0, end = len-1;if(target < nums[pivot]) return false;if(pivot-1>=0 && target>nums[pivot-1]) return false;if(pivot-1 >=0 && target >= nums[0] && target <= nums[pivot-1]) {left = 0;end = pivot-1;} else {left = pivot;end = len-1;}while(left <= end) {int mid = (left+end)/2;if(target==nums[mid]) return true;else if(target > nums[mid]) {left = mid+1;} else {end = mid-1;}}return false;}
};
这篇关于leetcode 081 Search in Rotated Sorted Array II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!