在排序数组中查找元素的第一个和最后一个位置
很显然这个题是一个二分查找,对于二分查找的题目,我建议如果自己已经比较熟练地话,可以使用Python标准库里的bisect模块。这里使用后可以2行代码解决,不容易出错。bisect.bisect方法是用来查找有序列表插入指定元素位置的一个函数,插入后必须仍然有序,所以我们可以利用这个函数很轻松的解决这个问题:
代码:
import bisect
class Solution(object):
def searchRange(self, nums, target):
left,right = bisect.bisect_left(nums,target),bisect.bisect(nums,target)-1
return [left,right] if (left<len(nums) and nums[left]==target) else [-1,-1]
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。