python实现 LeetCode34——Search for a Range
2018-03-21 20:11
736 查看
二分法找到target的位置,再判断前后的位置class Solution(object):
def searchRange(self, nums, target):
start=0
end=len(nums)-1
while start<=end and start>=0 and end<=len(nums)-1:
mid=(start+end)/2
if nums[mid]==target:
start = mid
end = mid
while start>0 and nums[start - 1] == nums[start]:
start = start - 1
while end<len(nums)-1 and nums[end] == nums[end+1]:
end = end + 1
return [start,end]
else:
if nums[mid]>target:
end=mid-1
else:
start=start+1
return [-1,-1]
def searchRange(self, nums, target):
start=0
end=len(nums)-1
while start<=end and start>=0 and end<=len(nums)-1:
mid=(start+end)/2
if nums[mid]==target:
start = mid
end = mid
while start>0 and nums[start - 1] == nums[start]:
start = start - 1
while end<len(nums)-1 and nums[end] == nums[end+1]:
end = end + 1
return [start,end]
else:
if nums[mid]>target:
end=mid-1
else:
start=start+1
return [-1,-1]
相关文章推荐
- LeetCode-34-Search for a Range Python实现lower_bound
- python写算法题:leetcode: Add to List 34. Search for a Range
- LeetCode-34-Search for a Range(C语言实现)
- [leetcode]34. Search for a Range(Java实现)
- python--leetcode34. Search for a Range
- LeetCode 34 — Search for a Range(C++ Java Python)
- [LeetCode]34. Search for a Range解法及python代码
- LeetCode 34 Search for a Range (C,C++,Java,Python)
- LeetCode 34. Search for a Range (Python)
- leetcode 34. Search for a Range | Java最短代码实现
- LeetCode 34. Search for a Range
- [leetcode] 34.Search for a Range
- LeetCode-34.Search for a Range
- leetcode.array--34. Search for a Range
- Leetcode: 34. Search for a Range
- 【LeetCode 34】Search for a Range
- LeetCode(34)Search for a Range
- [leetcode 34] Search for a Range
- [LeetCode] Search for a Range [34]
- 【LeetCode】34. Search for a Range