leetcode 【 Search in Rotated Sorted Array II 】python 实现
题目:
与上一道题几乎相同;不同之处在于array中允许有重复元素;但题目要求也简单了,只要返回true or false
http://www.cnblogs.com/xbf9xbf/p/4254590.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 【 Search in Rotated Sorted Array II 】python 实现的更多相关文章
- [leetcode]Search in Rotated Sorted Array II @ Python
原题地址:https://oj.leetcode.com/problems/search-in-rotated-sorted-array-ii/ 题意: Follow up for "Sea ...
- LeetCode: Search in Rotated Sorted Array II 解题报告
Search in Rotated Sorted Array II Follow up for "LeetCode: Search in Rotated Sorted Array 解题报告& ...
- [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 [36]
称号 Follow up for "Search in Rotated Sorted Array": What if duplicates are allowed? Would t ...
- [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 -- 有重复的旋转序列搜索
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
- LeetCode:Search in Rotated Sorted Array I II
LeetCode:Search in Rotated Sorted Array Suppose a sorted array is rotated at some pivot unknown to y ...
- LeetCode OJ:Search in Rotated Sorted Array II(翻转排序数组的查找)
Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...
随机推荐
- 菜鸟 学注册机编写之 “MD5”
测试环境 系统: xp sp3 调试器 :od 1.10 sc_office_2003_pro 高手不要见笑,仅供小菜玩乐,有不对或不足的地方还请多多指教,不胜感激! 一:定位关键CALL 1. 因 ...
- 【Quartus警告】created implicit net for XXX.
[警告内容]Warning (10236): Verilog HDL Implicit Net warning at forward_replace.v(16): created implicit n ...
- 使用CSS设置Chrome打印背景色
以下内容适用于Chrome浏览器 打印背景色可以通过在打印预览页面勾选背景图形实现 如果需要在用户不勾选的情况下依然能够打印背景色,可以通过css实现,如,table隔行设置背景色: .data-ta ...
- C#实现正则表达式
如果想了解正则表达式的基础知识:http://www.cnblogs.com/alvin-niu/p/6430758.html 一.C#中的Regex类 1.在C#中开发正则表达式,首先要引用Syst ...
- java cpu使用率高异常排查
1.top命令对cpu进行排序shift+p 2.pwdx pid查找业务进程路径 3.top -Hp pid查看相关负载线程pid 4.printf “0x%x\n” 线程pid // 将线 ...
- ADO.NET #3-1 (GridView + DataReader + SqlCommand)完全手写Code Behind
[C#] ADO.NET #3-1 (GridView + DataReader + SqlCommand)完全手写.后置程序代码 之前有分享过一个范例 [C#] ADO.NET #3 (GridVi ...
- Windows环境下的Chocolatey安装使用
Chocolatey是一个软件包管理工具,类似于Ubuntu下面的apt-get,不过是运行在Windows环境下面 电脑 Powershell 方法/步骤 安装 Chocolatey的安装需要: P ...
- POJ-1274 The Perfect Stall---二分图模板
题目链接: https://vjudge.net/problem/POJ-1274 题目大意: 有n个奶牛和m个谷仓,现在每个奶牛有自己喜欢去的谷仓,并且它们只会去自己喜欢的谷仓吃东西,问最多有多少奶 ...
- 自动释放池的前世今生 ---- 深入解析 autoreleasepool
http://draveness.me/autoreleasepool.html 关注仓库,及时获得更新:iOS-Source-Code-Analyze Follow: Draveness · Git ...
- 【转】iOS开发之压缩与解压文件
ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单方法:从http://code.google.com/p/ziparch ...