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.
题意:给出一个数组(有重复元素,是经过旋转的有序数组)及一个数,问这个数是否在数组中出现
思路:二分法
代码如下
第一种用递归(用时364ms)
public class Solution
{private boolean check(int[] nums, int left, int right, int target){int mid = (left + right) >> 1;if (left > right) return false;if (nums[mid] == target) return true;return check(nums, left, mid - 1, target) || check(nums, mid + 1, right, target);}public boolean search(int[] nums, int target){int left = 0, right = nums.length - 1;return check(nums, left, right, target);}
}
第二种非递归(用时388ms)
代码如下
public class Solution {public boolean search(int[] nums, int target){int left = 0, right = nums.length - 1;while (left <= right){int mid = (left + right) >> 1;if (nums[mid] == target) return true;else if (nums[left] == nums[mid] && nums[mid] == nums[right]) {left++;right--;}else if (nums[left] <= nums[mid]) {if (target >= nums[left] && target < nums[mid]) right = mid - 1;else left = mid + 1;}else {if (target > nums[mid] && target <= nums[right]) left = mid + 1;else right = mid - 1;}}return false;}
}
LeetCode Search in Rotated Sorted Array II相关推荐
- 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
这道题目仍然是二分,去掉不可能的部分.用了递归,在重复的情况下,就是有可能最左边的和最右边的相等,此时就不能直接判断出区间外的元素,左右两边同时递归.有重复元素的时候,在bad case的时候会退化为 ...
- 【leetcode】Search in Rotated Sorted Array II(middle)☆
Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...
- leetcode 81 Search in Rotated Sorted Array II ----- java
Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...
- 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 ...
- [算法题] Search in Rotated Sorted Array ii
题目内容 题目来源:LeetCode Suppose an array sorted in ascending order is rotated at some pivot unknown to yo ...
- 81. Search in Rotated Sorted Array II
题目: Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would ...
- Search in Rotated Sorted Array II
Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would this ...
最新文章
- 【杂谈】有三AI秋季划增加生成对抗网络小组,你准备好大GAN一场了吗
- Win11代言人官宣
- 如何判断一个人是不是值得深入交流?
- 荣耀es升级鸿蒙,华为手机明年全部升级鸿蒙系统 所有自研设备换OS
- 十二款硬盘数据恢复软件,百分之九十五的人没听过!
- Elasticsearch Trying to create too many scroll contexts. Must be less than or equal to: [500]
- python中返回上上级目录的命令
- CogPDF417Tool工具
- java爬取前程无忧(51job)
- java输出txt乱码_Java程序输出txt文件内容时中文乱码怎么处理?
- 狄克斯特拉算法(Dijkstra)——算法思想及代码实现
- extjs 数字校园-云资源平台 2014.2.4-班级座位表
- 2020年“信创”火了!一文看懂什么是信创
- Python : 程序提示SyntaxError: invalid syntax错误
- 自动投票系统【四】C# 清除Cookies
- SSM项目实战:酒店管理系统
- 离职后,华为的哪些东西是你最留恋的?
- 清华在职计算机博士招生简章,清华大学博士招生改革说明
- [几何] 计算任意多边形的面积、中心、重心
- 远程预付费管理系统在淮安茂业时代广场 项目上的应用
热门文章
- 数据结构C#版笔记--树与二叉树
- 工作流引擎的硬功夫之1-表单自定义
- php 判断字符是否是数字_php判断输入是否是纯数字,英文,汉字的方法
- 未来教育python视频百度云-青橙课程 | 人工智能走进课堂,为未来教育高质量发展赋能!...
- python中类方法与实例方法的区别-Python实例方法、静态方法和类方法详解(包含区别和用法)...
- python3菜鸟教程-Python3 快速入门教程
- python爬虫小说代码示例-中文编程,用python编写小说网站爬虫
- python3基础教程廖雪峰云-廖雪峰Python3教程---实战day1-day13总结
- python爬虫流程-什么是爬虫?爬虫的基本流程是什么?
- python基础知识整理-python入门基础知识点整理-20171214