您的位置:首页 > 编程语言 > Python开发

python写算法题:leetcode: Add to List 33. Search in Rotated Sorted Array

2017-08-01 09:14 555 查看
https://leetcode.com/problems/search-in-rotated-sorted-array/description/

class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
if len(nums) == 0: return -1
start = 0
end = len(nums) - 1

while True:
half = (start+end)/2
if target == nums[half]:
return half
if target == nums[start]:
return start
if target == nums[end]:
return end
if start >= end:
return -1
if target > nums[start]:
if target < nums[half]:
end = half-1
elif nums[half]<nums[start]:
end = half-1
else:
start = half+1
else:
if target > nums[half]:
start = half+1
elif nums[half]>nums[end]:
start = half+1
else:
end = half-1

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: