首页 > 其他 > 详细

LeetCode之Search in Rotated Sorted Array II

时间:2014-03-31 19:21:40      阅读:523      评论:0      收藏:0      [点我收藏+]

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.


解决Search in Rotated Sorted Array 问题一不小心顺便搞定了。


class Solution {
public:
    bool search(int A[], int n, int target) {
        int start=0,end=n-1,mid;
        while(start<=end){
           mid=(start+end)>>1;
           if(A[mid]==target)  return true;
           
           if(A[mid]>A[start]){//left side is sorted
               if(A[start]<=target && A[mid]>target)
                    end=mid-1;
               else
                    start=mid+1;
           }else if(A[mid]<A[start]){//right side is sorted
               if(A[end]>=target && A[mid]<target)
                    start=mid+1; 
               else
                  end=mid-1; 
           }else
                start++;         //avoid end=mid=start
        }//while
        return false;
    }
};


LeetCode之Search in Rotated Sorted Array II,布布扣,bubuko.com

LeetCode之Search in Rotated Sorted Array II

原文:http://blog.csdn.net/smileteo/article/details/22663985

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!