Search in Rotated Sorted Array

来源:互联网 发布:海关数据是什么 编辑:程序博客网 时间:2024/06/03 14:20
class Solution {public:    int search(vector<int>& nums, int target)     {        int low=0;        int high=nums.size()-1;        while(low<=high)        {            int mid=low+(high-low)/2;            if(nums[mid]==target)                return mid;            if(nums[low]<nums[mid])            {                if(target>=nums[low] && target<nums[mid])                    high=mid-1;                else                    low=mid+1;            }            else if(nums[high]>nums[mid])            {                if(target>nums[mid] && target<=nums[high])                    low=mid+1;                else                    high=mid-1;            }            else if(nums[low]==nums[mid])                low++;            else if(nums[high]==nums[mid])                --high;                    }                return -1;            }};

0 0