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 ...
随机推荐
- linux下mysql多实例安装(转)
转自:http://www.cnblogs.com/xuchenliang/p/6843990.html 1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上 ...
- PHP代码规范的一些总结
世界第一语言在手,辅以前人的最佳实践,天下又算什么. 1.代码是写给小白用的 注释,注释,注释,重要的事情说三遍.我们做的虽然不是拿去卖源码的商业产品,不需要把注释写的多么优美.但也不要太过吝啬,到头 ...
- linux 命令——12 more (转)
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会 ...
- 工作流性能优化(敢问activiti有扩展性?)(2)
2015/4/17 粗略看了activiti的sql的,在ativity engine包里边: 没什么头绪,先用excel记录数据量少的时候本机的性能情况: 不打印hibernate的sql:一刷 ...
- 浅谈前端性能优化(二)——对HTTP传输进行压缩
1.前端性能优化的一点: 对js.css.图片等进行压缩,尽可能减小文件的大小,减少文件下载的时间,从而减少网页响应的时间. 2.前端性能优化的另一点: 对HTTP传输进行压缩,即在js,css.图片 ...
- 【洛谷3796】【模板】AC自动机(加强版)
点此看题面 大致题意: 一道模板题,给你\(N\)个模式串和一个文本串,要你求出在文本串中出现次数最多的若干个模式串并输出它们. \(AC\)自动机 都说了是\(AC\)自动机的模板题,做法肯定是\( ...
- python剑指offer剪绳子
题目 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少 ...
- PAT (Basic Level) Practise (中文)- 1003. 我要通过!(20)
http://www.patest.cn/contests/pat-b-practise/1003 “答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于PAT的“答案正确”大派送 —— 只要读入 ...
- ubuntu安装R时候增加软件源到sources.list,sudo apt-get update不能更新
http://forum.ubuntu.org.cn/viewtopic.php?t=401717 ubuntu安装R时候增加软件源到sources.list,sudo apt-get update不 ...
- 单例Singleton
先提供一个完整版: // .h文件 @interface SingleTon : NSObject /** 获取单例对象 */ + (instancetype)sharedInstance; + (i ...