Search in Rotated Sorted Array II

原创 2015年11月17日 16:45:51

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.

public class Solution {
    /*it is a good question following the rotated sorted array 1*/
    /*eg 3  1 2 3 3 3, we don;t know where to go,left or right. so we just start ++ until they are different.*/
    //if all the elmement is same, and the target is not in the array.the time complexity is O(n)
    public boolean search(int[] nums, int target) {
        if(nums == null || nums.length == 0)
            return false;
        int low = 0;
        int high = nums.length - 1;
        while(low <= high) {
            int mid = (low + high) / 2;
            if(nums[mid] == target)
                return true;
            if(nums[mid] > nums[low]) {
                if(target >= nums[low] && target < nums[mid])
                    high = mid -1;
                else
                    low = mid + 1;
            }
            else if(nums[mid] < nums[low]) {
                if(target > nums[mid] && target <= nums[high])
                    low = mid + 1;
                else
                    high = mid -1;
            }
            //here is most important to solve the duplicate
            else  {
                low ++;
            }
        }

        return false;
    }
}

相关文章推荐

leetcode 81. Search in Rotated Sorted Array II-旋转数组|二分查找

原题链接:81. Search in Rotated Sorted Array II 【思路-Java、Python】 二分查找实现 本题采用二分法实现,但是比较挠头的是边界问题,而且元素有重复,...

[Leetcode] 81. Search in Rotated Sorted Array II 解题报告

题目: Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this aff...

【一天一道LeetCode】#81. Search in Rotated Sorted Array II

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目...

[LeetCode]Search in Rotated Sorted Array II

Question Follow up for “Search in Rotated Sorted Array”: What if duplicates are allowed?Would this...
  • byamao1
  • byamao1
  • 2016年11月05日 16:50
  • 56

LeetCode之Search in Rotated Sorted Array II

/*本题与的Search in Rotated Sorted Array差别在于可能有重复的 元素,但还是可以采用与Search in Rotated Sorted Array类似的方法。 但是在判断...

leetcode -- Search in Rotated Sorted Array I &II 重点可以考

https://leetcode.com/problems/search-in-rotated-sorted-array/ https://leetcode.com/problems/search-...
  • xyqzki
  • xyqzki
  • 2015年12月15日 22:24
  • 272

LeetCode - Search in Rotated Sorted Array II

这道题麻烦的地方就是不能像没有duplicate时候直接判断有没有bump。 所以,分成三种情况,如果 A[left] A[mid],都可以直接判断左边有没有bump,然后根据左边或者右边的rang...

Leetcode刷题记—— 81. Search in Rotated Sorted Array II(在翻转数组中查找2)

一、题目叙述: Follow up for "Search in Rotated Sorted A...

[LeetCode][Java] Search in Rotated Sorted Array II

题目: Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would t...

LeetCode81——Search in Rotated Sorted Array II

LeetCode81——Search in Rotated Sorted Array II
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Search in Rotated Sorted Array II
举报原因:
原因补充:

(最多只允许输入30个字)