leetcode 【 Search in Rotated Sorted Array II 】python 实现
2015-01-28 00:07
706 查看
题目:
与上一道题几乎相同;不同之处在于array中允许有重复元素;但题目要求也简单了,只要返回true or false
/article/5261268.html
代码:oj测试通过 Runtime: 73 ms
思路:
用了一个trick Python数组去重的办法A=list(set(A))
这样A数组中就没有重复的元素了,可以直接用之前一题的代码。
这样的trick应该不是题目的本意,这道二分查找题目比较经典,应该吃透。
与上一道题几乎相同;不同之处在于array中允许有重复元素;但题目要求也简单了,只要返回true or false
/article/5261268.html
代码:oj测试通过 Runtime: 73 ms
class Solution: # @param A a list of integers # @param target an integer # @return a boolean def search(self, A, target): A=list(set(A)) # none case & zero case if A is None or len(A)==0 : return False # binary search start = 0 end = len(A)-1 while start<=end : # one element left case if start == end : if A[start]==target : return True else: return False # two elements left case if start+1 == end : if A[start]==target : return True elif A[end]==target : return True else: return False # equal or more than three elements case mid = (start+end)/2 if A[mid]==target : return True elif A[mid]>target: if A[start]>A[mid] and A[end]<A[mid]: start = mid+1 elif A[start]<A[mid] and A[end]<A[mid]: if A[end]>=target: start = mid+1 else: end = mid-1 elif A[start]>A[mid] and A[end]>A[mid]: end = mid-1 else: end = mid-1 else: if A[start]>A[mid] and A[end]<A[mid]: end = mid-1 elif A[start]<A[mid] and A[end]<A[mid]: start = mid+1 elif A[start]>A[mid] and A[end]>A[mid]: if A[end]>=target : start = mid+1 else: end = mid-1 else: start = mid+1 return False
思路:
用了一个trick Python数组去重的办法A=list(set(A))
这样A数组中就没有重复的元素了,可以直接用之前一题的代码。
这样的trick应该不是题目的本意,这道二分查找题目比较经典,应该吃透。
相关文章推荐
- 【LEETCODE】81-Search in Rotated Sorted Array II [Python]
- 【Leetcode】【python】Search in Rotated Sorted Array/Search in Rotated Sorted Array II
- [leetcode]@python 81. Search in Rotated Sorted Array II
- LeetCode 之 Search in Rotated Sorted Array I II — C/C++ 实现
- Leetcode_search-in-rotated-sorted-array-ii(updated c++ and python version)
- 81. Search in Rotated Sorted Array II Leetcode Python
- 【LeetCode-面试算法经典-Java实现】【081-Search in Rotated Sorted Array II(搜索旋转的排序数组)】
- [LeetCode]Search in Rotated Sorted Array II@python
- [LeetCode]题解(python):081-Search in Rotated Sorted Array II
- leetcode 【 Find Minimum in Rotated Sorted Array II 】python 实现
- [leetcode]Search in Rotated Sorted Array II @ Python
- 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 - 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 98: Search in Rotated Sorted Array II