码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode-Search in Rotated Sorted Array II

时间:2016-10-25 07:42:36      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:pointer   code   determine   style   follow   color   解决   ann   null   

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.

解决方法就是对于A[mid]==A[left]和A[mid]==A[right]单独处理。

 

public class Solution {
    public boolean search(int[] nums, int target) {
        if(nums==null || nums.length==0){
            return false;
        }
        int left=0;
        int right=nums.length-1;
        
        while(left<=right){
            int mid=left+(right-left)/2;
            if(target<nums[mid]){
                if(nums[mid]< nums[right]){// right side is sorted
                    right=mid-1;
                }
                else if(nums[mid] == nums[right]){//can‘t tell right is sorted or not, move pointer
                    right--;
                }
                else {//left side is sorted
                    if(target<nums[left]){
                        left=mid+1;
                    }
                    else{
                        right=mid-1;
                    }
                }
            }
            else if(target>nums[mid]){
                if(nums[mid] > nums[left]){//left is sorted
                    left=mid+1;
                    
                }
                else if(nums[mid]== nums[left]){// cann‘t tell left side is sorted or not, move pointer
                    left++;
                }
                else{//right is sorted
                    if(target>nums[right]){
                        right=mid-1;
                    }
                    else{
                        left=mid+1;
                    }
                }
            }
            else{
                return true;
            }
        }
        return false;
    }
}

 

LeetCode-Search in Rotated Sorted Array II

标签:pointer   code   determine   style   follow   color   解决   ann   null   

原文地址:http://www.cnblogs.com/incrediblechangshuo/p/5995292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!