查找索引的程序,我们可以在其中插入元素以保持列表在 Python 中排序
假设我们有一个名为nums的数字列表,它们按升序排序,我们还有另一个数字目标,我们必须找到应该插入目标的索引以保持nums排序。如果目标已经存在于nums中,则返回可以插入目标的最大索引。我们必须在不使用库函数的情况下解决这个问题并O(logn)及时解决它。
所以,如果输入像nums=[1,5,6,6,8,9]target=6,那么输出就会是4,因为6已经在那里了,所以要插入它,最大可能的索引是4,因此数组将类似于[1,5,6,6,6,8,9]。
示例
让我们看看以下实现以获得更好的理解-
def solve(nums, target):
left, right = 0, len(nums) - 1
ans = 0
while left <= right:
mid = (left + right) //2
if target >= nums[mid]:
ans = mid + 1
left = mid + 1
else:
right = mid - 1
return ans
nums = [1,5,6,6,8,9]
target = 6
print(solve(nums, target))输入
[1,5,6,6,8,9], 6输出结果
4
热门推荐
10 医院探望朋友祝福语简短
11 毕业祝福语简短女朋友
12 春节虎年爸妈祝福语简短
13 儿童毕业祝福语 简短6
14 开工仪式横幅祝福语简短
15 孩子日常祝福语大全简短
16 清晨寄语诗句祝福语简短
17 结婚送亲认亲祝福语简短
18 虎年喝酒拜年祝福语简短