Leetcode||33. Search in Rotated Sorted Array
2017-10-11 19:51
323 查看
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e.,
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
说实话,数据量小的时候,暴利搜索还是挺好的,但是,这种方法想想就好了。稍微好点的方式是用二分查找,节约时间
class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
start = 0
end = len(nums) - 1
while start <= end:
mid = (start + end) / 2
if nums[mid] == target:
return mid
if nums[mid] >= nums[start]:
if target >= nums[start] and target < nums[mid]:
end = mid - 1
else:
start = mid + 1
if nums[mid] < nums[end]:
if target > nums[mid] and target <= nums[end]:
start = mid + 1
else:
end = mid - 1
return -1
(i.e.,
0 1 2 4 5 6 7might become
4 5 6 7 0 1 2).
You are given a target value to search. If found in the array return its index, otherwise return -1.
You may assume no duplicate exists in the array.
说实话,数据量小的时候,暴利搜索还是挺好的,但是,这种方法想想就好了。稍微好点的方式是用二分查找,节约时间
class Solution(object):
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
start = 0
end = len(nums) - 1
while start <= end:
mid = (start + end) / 2
if nums[mid] == target:
return mid
if nums[mid] >= nums[start]:
if target >= nums[start] and target < nums[mid]:
end = mid - 1
else:
start = mid + 1
if nums[mid] < nums[end]:
if target > nums[mid] and target <= nums[end]:
start = mid + 1
else:
end = mid - 1
return -1
相关文章推荐
- Leetcode 33. Search in Rotated Sorted Array
- leetcode 33|81. Search in Rotated Sorted Array 1|2
- LeetCode 33. Search in Rotated Sorted Array
- LeetCode(33) Search in Rotated Sorted Array解题报告
- 【Leetcode】33. Search in Rotated Sorted Array
- Leetcode_33. Search in Rotated Sorted Array
- LeetCode 33 Search in Rotated Sorted Array (二分查找 推荐)
- leetcode题解-33 Search in Rotated Sorted Array
- leetcode 33.Search in Rotated Sorted Array 旋转数组二分查找法搜索
- 【LeetCode】33. Search in Rotated Sorted Array (4 solutions)
- Leetcode 33. Search in Rotated Sorted Array (Hard) (java)
- leetCode 33.Search in Rotated Sorted Array(排序旋转数组的查找) 解题思路和方法
- leetcode 33. Search in Rotated Sorted Array (复杂二分查找)
- LeetCode 33 Search in Rotated Sorted Array
- 【leetcode】【33】Search in Rotated Sorted Array
- LeetCode------33. Search in Rotated Sorted Array(旋转数组中查找)
- Leetcode 33. Search in Rotated Sorted Array
- Leetcode -- 33. Search in Rotated Sorted Array
- leetcode33---Search in Rotated Sorted Array
- LeetCode-33-Search in Rotated Sorted Array 水题