Search in Rotated Sorted Array II 旋转数组(有重复元素)里找数@LeetCode
来源:互联网 发布:got it 和get it 编辑:程序博客网 时间:2024/05/29 19:17
与之前的题目代码一样。。
是上一题的followup http://blog.csdn.net/fightforyourdream/article/details/16854537
package Level5;/** * 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. * */public class S81 {public static void main(String[] args) {}public static boolean search(int[] A, int target) {return rec(A, target, 0, A.length-1) != -1;}// 递归查找public static int rec(int[] A, int target, int low, int high) {if (low > high) { // 没找到的情况return -1;}int mid = low + (high - low) / 2;if (A[mid] == target) { // 找到了return mid;}int res = rec(A, target, low, mid - 1); // 在左侧查找if (res == -1) { // 如果左侧没找到,继续在右侧查找res = rec(A, target, mid + 1, high);}return res;}}
public class Solution { public boolean search(int[] A, int target) { return rec(A, target, 0, A.length-1) != -1; } public int rec(int[] A, int target, int low, int high){ if(low > high){ return -1; } int mid = low + (high-low)/2; if(A[mid] == target){ return mid; } int pos = rec(A, target, mid+1, high); if(pos != -1){ return pos; }else{ return rec(A, target, low, mid-1); } }}
// it ends up the same as sequential search// We used linear search for this question just to indicate that the // time complexity of this question is O(n) regardless of binary search is applied or not.public class Solution { public boolean search(int[] A, int target) { for (int i = 0; i < A.length; i ++) { if (A[i] == target) { return true; } } return false; }}
- Search in Rotated Sorted Array II 旋转数组(有重复元素)里找数@LeetCode
- Search in Rotated Sorted Array II 旋转的数组中查找,有重复元素
- Find Minimum in Rotated Sorted Array II 旋转数组中找最小值(有重复元素) @LeetCode
- 字符串算法——旋转数组中查找目标值(有重复元素)( Search in Rotated Sorted Array II)
- Search in Rotated Sorted Array II 旋转数组二分查找 有重复
- leetcode 7. 在有序可重复数组旋转后搜索 Search in Rotated Sorted Array II
- LeetCode 81. Search in Rotated Sorted Array II(搜索旋转的数组)
- Leetcode|Find Minimum in Rotated Sorted Array II(有重复元素的二分查找)
- 字符串算法——查找有序数组旋转后最小值(有重复元素)(Find Minimum in Rotated Sorted Array II)
- Search in Rotated Sorted Array II 存在重复元素
- leetCode 81.Search in Rotated Sorted Array II (旋转数组的搜索II) 解题思路和方法
- Leetcode 81. Search in Rotated Sorted Array II 旋转数组查询2 解题报告
- leetcode 81. Search in Rotated Sorted Array II-旋转数组|二分查找
- LeetCode @ Search in Rotated Sorted Array 旋转数组查找
- 【LeetCode】Search in Rotated Sorted Array旋转数组问题总结
- LeetCode @ Search in Rotated Sorted ArrayII 旋转数组查找II
- 63.Search in Rotated Sorted Array II-搜索旋转排序数组 II(中等题)
- leetcode 刷题之路 35 Search in Rotated Sorted Array II (旋转排序数组查找终极版)
- UML 几种关系的理解
- Hana数据库安装2
- Mysql变量赋值问题
- android 访问隐藏API
- jqGrid 各种参数 详解
- Search in Rotated Sorted Array II 旋转数组(有重复元素)里找数@LeetCode
- c 语言中定义bool
- android根据不同分辨率获取不同分辨率
- MVC参数传递 提交数据
- SAP生产订单预留相关的备忘录
- WinSock 异步I/O模型[1]---选择模型 - select
- 贪心算法_哈夫曼编码问题(Huffman Coding)
- XP无法远程桌面连接解决方案
- 【玩转cocos2d-x之一】V2.2.0版本开发环境配置