很顯然這個題是一個二分查找,對於二分查找的題目,我建議若是本身已經比較熟練地話,可使用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]