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.

第33题的延伸题。

33题说的是给定一个数组,这个数组可能从某个位置分成两部分,这两部分都是排序好的,假设没有重复的数字,给定一个数,然后求出那么数的位置,不存在则返回-1;

这道题说的就是假设可以重复。

当然不能直接循环一次,那样就没有意义了。

如果没有重复的数字,就修改一下二分法就行了,其实也就是几种情况,分类讨论一下就好。

在这里有重复的数字,那么就是,如果遇到pos和left处的数字一样,或者说pos和right处的数字一样,那么移动一个数字。

public class Solution {public boolean search(int[] nums, int target) {int len = nums.length;int left = 0,right = len-1;int pos;while( left <= right ){pos = (left+right)/2;if( target == nums[pos])return true;else if( nums[pos] > nums[left] ){if( target >= nums[left] && target < nums[pos])right = pos-1;elseleft = pos+1;}else if( nums[pos] < nums[right] ){if( target <= nums[right] && target > nums[pos])left = pos+1;elseright = pos-1;}else if( nums[pos] == nums[left] ){left++;}else if( nums[pos] == nums[right] )right--;}return false;}
}

转载于:https://www.cnblogs.com/xiaoba1203/p/5967285.html

leetcode 81 Search in Rotated Sorted Array II ----- java相关推荐

  1. [LeetCode] 81. Search in Rotated Sorted Array II

    题目: Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. ( ...

  2. 81. Search in Rotated Sorted Array II

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

  3. 【leetcode】Search in Rotated Sorted Array II(middle)☆

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

  4. LeetCode 33. Search in Rotated Sorted Array

    问题链接 LeetCode 33. Search in Rotated Sorted Array 题目解析 给定一个 "升序" 的 无重复 数组,从中寻找目标值."升序& ...

  5. LeetCode Search in Rotated Sorted Array II

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

  6. LeetCode Search in Rotated Sorted Array II -- 有重复的旋转序列搜索

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

  7. LeetCode Online Judge 题目C# 练习 - Search in Rotated Sorted Array II

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

  8. leetcode - Search in Rotated Sorted Array II

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

  9. [算法题] Search in Rotated Sorted Array ii

    题目内容 题目来源:LeetCode Suppose an array sorted in ascending order is rotated at some pivot unknown to yo ...

最新文章

  1. Java连接Oracle数据库常用方法
  2. 讲讲 Python Launcher 是什么鬼东西?
  3. K近邻算法:机器学习萌新必学算法
  4. 10.Java 面试题整理(CORBA 方面)
  5. Linux 工程师技术 系统服务管理进阶
  6. Winform 事件
  7. SQL Server 检测到基于一致性的逻辑 I/O 错误
  8. 【VS2010学习笔记】【函数学习】二(SetTimer()函数)
  9. DSSM,Deep Structured Semantic Models
  10. 给机器人罗宾写一封英语回信_英语作文回信范文英语回信范文
  11. 开关稳压器详解(四)-Buck降压型开关稳压器自举电路
  12. 三星s9怎么打开开发者模式
  13. ShinyApp中的表格:第三天笔记
  14. flash存储器原理及作用是什么?
  15. 策略模式--红色警戒2之兵种设计
  16. 鸿蒙开发者联盟app,开发者联盟
  17. 23考研李林880第九章曲线积分与曲面积分综合题3-21
  18. 【微信小程序】去水印小程序源码,微信和QQ小程序都能用!
  19. 港科夜闻|推进湾区产学研融合发展,香港科大(广州)—广州市属国企校企合作专题交流会圆满举行...
  20. 产品经理面试攻略------简历篇

热门文章

  1. 大数据的说法 正确的是_前端测试题:(解析)用于播放音频文件的正确HTML5元素是?...
  2. java编写k线_用Java绘制K线 (转)
  3. python续行_python中如何优雅续行和换行
  4. UE4学习-程序崩溃,如何恢复工程
  5. if __name__ == __main__:什么意思_好冷的Python if __name__==__main__是啥东东
  6. acl审计软件_什么是IT审计员?风险评估的重要角色
  7. 10G_Ethernet_03 Example Design
  8. vue 初始化方法_前端发展方向指南—Vue源码初始化
  9. python数据接口设计_Python接口与归一化设计
  10. vld不输出泄漏信息_光纤天线方案和泄漏电缆方案的比较