【LeetCode】Search in Rotated Sorted Array II
2014-12-15 12:52
393 查看
public class Solution { public boolean binarySearch0(int[] num, int l, int h, int target){ while(l <= h){ int mid = l + (( h - l) >> 1); if(num[mid] > target) h = mid - 1; else if(num[mid] < target) l = mid + 1; else return true; } return false; } public boolean binarySearch(int[] num, int start, int end, int target){ if(num[start] < num[end]) return binarySearch0(num, start, end, target);//注意此处不能有等号 if(start > end) return false; if(start == end){ if(num[start] == target) return true; else return false; } if(start + 1 == end){ if(num[start] == target || num[end] == target ) return true; else return false; } int mid = start + ((end - start) >> 1); if(num[mid] == target) return true; return (binarySearch(num, start, mid - 1, target) || binarySearch(num, mid + 1, end, target));//分治的思想同时写好递归的出口 } public boolean search(int[] A, int target) { return binarySearch(A, 0 ,A.length - 1, target); } }
相关文章推荐
- [LeetCode] Search in Rotated Sorted Array II
- 【Leetcode】Search in Rotated Sorted Array II
- leetcode_Search in Rotated Sorted Array II
- [leetcode] Search in Rotated Sorted Array II
- Search in Rotated Sorted Array II [LeetCode]
- LeetCode-Search in Rotated Sorted Array II
- leetcode 98: Search in Rotated Sorted Array II
- LeetCode Online Judge 题目C# 练习 - Search in Rotated Sorted Array II
- 【leetcode】Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array II 解题报告
- [Leetcode] Search in Rotated Sorted Array II
- LeetCode-Search in Rotated Sorted Array II
- leetcode Search in Rotated Sorted Array II
- LeetCode Search in Rotated Sorted Array II
- LeetCode - Search in Rotated Sorted Array II
- LeetCode : Search in Rotated Sorted Array II
- 【Leetcode】Search in Rotated Sorted Array II
- leetcode - Search in Rotated Sorted Array II
- [LeetCode] Search in Rotated Sorted Array II
- [LeetCode]Search in Rotated Sorted Array II