解题思路:
所有的值按升序排列且唯一,可以用二分
在一个闭区间内,若存在值相等于目标值,返回索引
否则目标值在边界外
left , right = 0,len(nums)-1 #定义区间
while left<=right: #循环
mid = (left+right)//2
if nums[mid] < target:
left = mid + 1
elif nums[mid] > target:
right = mid - 1
elif nums[mid] == target: #满足相等返回索引
return mid
return right+1 #不满足循环,说明目标值在边界外
暴力解:
for i in range(len(nums)):
if nums[i] >= target: #遍历,若有满足返回索引
return i
elif nums[-1] < target:
return len(nums)