标签:
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.
Array Binary Search
#include<iostream> #include<vector> using namespace std; #define TRUE 1 #define FALSE 0 //标准的二分查找 bool searched(vector<int>& nums,int target,int i,int j) { int k; while(1) { if(nums[i]==nums[j]) { if(nums[i]==target) return TRUE; else return FALSE; } if(i+1==j) { if(target==nums[i]||target==nums[j]) return TRUE; else return FALSE; } if(i==j) { if(target==nums[i]) return TRUE; else return FALSE; } k=(i+j)/2; if(target==nums[k]) return TRUE; if(target>nums[k]) i=k; else j=k; } } // bool search(vector<int>& nums, int target) { int i=0; int j=nums.size()-1; int k; while(1) { if(i+1==j) { if(target==nums[i]||target==nums[j]) return TRUE; else return FALSE; } if(i==j) { if(target==nums[i]) return TRUE; else return FALSE; } k=(i+j)/2; if(nums[i]<nums[k]) { bool bo=searched(nums,target,i,k); if(bo==TRUE) return TRUE; i=k; } else { for(int a=i;a<=j;a++) if(nums[a]==target) return TRUE; return FALSE; } } } int main() { vector<int> vec; }
leetcode_81——Search in Rotated Sorted Array II(二分查找)
标签:
原文地址:http://www.cnblogs.com/yanliang12138/p/4617876.html