81 Search in Rotated Sorted Array II
2015-06-17 18:14
225 查看
class Solution:
# @param {integer[]} nums
# @param {integer} target
# @return {boolean}
def search(self, nums, target):
"considering the situation: nums[low]=nums[mid]=nums[upp] in which we would traverse the list, O(n)"
if not nums:
return False
l,u=0,len(nums)-1
while l<=u:
mid=(l+u)>>1 #for python, right shift means *2**(-n), and left shift refers to the operation *2**n
if target==nums[mid]:
return True
elif nums[l]==nums[mid]==nums[u]:
l,u=l+1,u-1
elif nums[l]<nums[mid] and nums[l]<=target<nums[mid] or nums[l]>nums[mid] and not(nums[mid]<target<=nums[u]):
u=mid-1
else: l=mid+1
return False
# @param {integer[]} nums
# @param {integer} target
# @return {boolean}
def search(self, nums, target):
"considering the situation: nums[low]=nums[mid]=nums[upp] in which we would traverse the list, O(n)"
if not nums:
return False
l,u=0,len(nums)-1
while l<=u:
mid=(l+u)>>1 #for python, right shift means *2**(-n), and left shift refers to the operation *2**n
if target==nums[mid]:
return True
elif nums[l]==nums[mid]==nums[u]:
l,u=l+1,u-1
elif nums[l]<nums[mid] and nums[l]<=target<nums[mid] or nums[l]>nums[mid] and not(nums[mid]<target<=nums[u]):
u=mid-1
else: l=mid+1
return False
相关文章推荐
- css之选择器
- cocospod 之bug
- hdu 1412 {A} + {B}
- R语言 并行处理
- 《学习OpenCV》第三章课后题6
- (jQuery||Zepto).extend 的一个小问题
- 国内外主要的PHP开源CMS系统分析
- 遗传算法
- 函数指针
- 项目阶段总结
- [Cookie] Read Cookie and Pass in headers
- R语言神器
- CONST
- ACM训练方案-POJ题目分类
- 让NodeJs更快的10个技巧
- R语言与统计笔记
- KG 3.2.0_C SVN 修改情况
- 2015年2月到2015年6月8日(2.0发布)Swift主要更新
- Android gradle 编译 MultiDex
- Mysql load data 命令解析、处理 error 29 (ErrCode: 13) 错误(在ubuntu环境下)