LeetCode-Search in Rotated Sorted Array II
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的更多相关文章
- LeetCode: Search in Rotated Sorted Array II  解题报告
		
Search in Rotated Sorted Array II Follow up for "LeetCode: Search in Rotated Sorted Array 解题报告& ...
 - [LeetCode] Search in Rotated Sorted Array II 在旋转有序数组中搜索之二
		
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
 - LeetCode——Search in Rotated Sorted Array II
		
Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...
 - [leetcode]Search in Rotated Sorted Array II @ Python
		
原题地址:https://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/ 题意: Follow up for "Sea ...
 - [LeetCode] Search in Rotated Sorted Array II [36]
		
称号 Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would t ...
 - [Leetcode] search in rotated sorted array ii 搜索旋转有序数组
		
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
 - [LeetCode] Search in Rotated Sorted Array II 二分搜索
		
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
 - LeetCode Search in Rotated Sorted Array II -- 有重复的旋转序列搜索
		
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
 - LeetCode:Search in Rotated Sorted Array I II
		
LeetCode:Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to y ...
 - LeetCode OJ:Search in Rotated Sorted Array II(翻转排序数组的查找)
		
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
 
随机推荐
- python 笔记2:python语法基础
			
python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...
 - WebStrom 10 注册码(转)
			
webStorm : UserName:William ===== LICENSE BEGIN ===== 45550-12042010 00001SzFN0n1bPII7FnAxnt0DDOPJA ...
 - mysql数据库引擎 MyISAM和 InnoDB区别
			
1. 存储结构 MyISAM:每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型..frm文件存储表定义.数据文件的扩展名为.MYD (MYData).索引文件 ...
 - CentOS下查看进程和删除进程
			
1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...
 - web api 初体验 解决js调用跨域问题
			
跨域界定 常见跨域: 同IP不同端口: http:IP:8001/api/user http:IP:8002/api/user 不同IP不同端口: http://172.28.20.100:8 ...
 - DataList:HTML5中的input输入框自动提示宝器
			
DataList的作用是在你往input输入框里输入信息时,根据你敲进去的字母,自动显示一个提示下列列表,很像百度或谷歌的搜索框的自动提示,在飞机票火车票的搜索页面上也有这样的效果.它是HTML5里新 ...
 - HANA学习笔记1-搭建HANA学习环境
			
一 硬件环境 两台电脑,一台为服务器装跑HANA虚拟机,一台为客户端运行HANA_STUDIO 服务器:内存至少需要16G windows server 2003 64位 ...
 - PowerDesigner自增列问题
 - [GodLove]Wine93 Tarining Round #4
			
比赛链接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=44903#overview 题目来源: 2011 Asia ChengDu R ...
 - 1.Basic Techniques and Knowledge
			
1.1 BASIC WINDOWS PROGRAMMING IN C/C++ 1.Hello World Version 1:Starting Your Browser Let's get down ...