如何用PYTHON解决搜索插入位置问题

 时间:2026-02-14 09:11:02

1、打开JUPYTER NOTEBOOK,新建一个空白的PY文档。

如何用PYTHON解决搜索插入位置问题

2、nums = [1,3,5,6]

target = 5

for i in range(len(nums)):

    if nums[i] == target:

        print(i)

正常的遍历可以找出相等的数字。

如何用PYTHON解决搜索插入位置问题

3、nums = [1,3,5,6]

target = 2

for i in range(len(nums)):

    if nums[i] == target:

        print(i)

如果数字不在,就不返回结果。

如何用PYTHON解决搜索插入位置问题

4、nums = [1,3,5,6]

target = 5

nums.index(target)

nums = [1,3,5,6]

target = 5

if target in nums:

    print(nums.index(target))

也可以这样稍微修改一下。

如何用PYTHON解决搜索插入位置问题

5、nums = [1,3,5,6]

target = 2

if target in nums:

    print(nums.index(target))

else:

    for i in range(len(nums)):

        if nums[i] < target and nums[i+1] > target:

            print(i+1)

如果不在就插入相应的位置。这里是假设的位置,返回位置的序列。

如何用PYTHON解决搜索插入位置问题

6、nums = [1,3,5,6]

target = 0

if target in nums:

    print(nums.index(target))

else:

    for i in range(len(nums)):

        if nums[i] < target and nums[i+1] > target:

            print(i+1)

nums = [1,3,5,6]

target = 0

if target in nums:

    print(nums.index(target))

else:

    for i in range(len(nums)):

        if target < nums[0]:

            print(0)

            break

        elif nums[i] < target and nums[i+1] > target:

            print(i+1)

如果是最小数0,那么我们应该多考虑一种结果。

如何用PYTHON解决搜索插入位置问题

如何用PYTHON解决搜索插入位置问题

7、nums = [1,3,5,6]

target = 7

if target in nums:

    print(nums.index(target))

else:

    for i in range(len(nums)):

        if target < nums[0]:

            print(0)

            break

        elif nums[i] < target and nums[i+1] > target:

            print(i+1)

nums = [1,3,5,6]

target = 7

if target in nums:

    print(nums.index(target))

else:

    for i in range(len(nums)):

        if target < nums[0]:

            print(0)

            break

        elif nums[i] < target and nums[i+1] > target:

            print(i+1)

        elif target > nums[-1]:

            print(len(nums))

            break

如果是最大数,我们应该增加一种考虑。

如何用PYTHON解决搜索插入位置问题

如何用PYTHON解决搜索插入位置问题

8、nums = [1]

target = 2

if target in nums:

    print(nums.index(target))

else:

    for i in range(len(nums)):

        if target < nums[0]:

            print(0)

            break

        elif nums[i] < target and nums[i+1] > target:

            print(i+1)

        elif target > nums[-1]:

            print(len(nums))

            break

nums = [1]

target = 2

for i in range(len(nums)):

    if target < nums[0]:

        print(0)

        break

    elif nums[i] == target:

        print(i)

        break

    elif nums[i] < target and nums[i+1] > target:

        print(i+1)

    elif target > nums[-1]:

        print(len(nums))

        break

如果列表只有一个数字,这个方法会超出范围。

如何用PYTHON解决搜索插入位置问题

如何用PYTHON解决搜索插入位置问题

9、nums = [1]

target = 2

for i in range(len(nums)):

    if target < nums[0]:

        print(0)

        break

    elif nums[i] == target:

        print(i)

        break

    elif nums[i] < target:

        print(i+1)

        break

    elif target > nums[-1]:

        print(len(nums))

        break

修改一下即可运行。

如何用PYTHON解决搜索插入位置问题

10、nums = [1,3,5,6]

target = 7

for i in range(len(nums)):

    if nums[0] > target:

        print(0)

        break

    elif nums[i] == target:

        print(i)

        break

    elif nums[i] < target and nums[i+1] > target:

        print(i+1)

        break

    elif target > nums[-1]:

        print(len(nums))

        break

nums = [1]

target = 2

for i in range(len(nums)):

    if nums[0] > target:

        print(0)

        break

    elif nums[i] == target:

        print(i)

        break

    elif target > nums[-1]:

        print(len(nums))

        break

    elif nums[i] < target and nums[i+1] > target:

        print(i+1)

        break

多测试一下两个实例。

如何用PYTHON解决搜索插入位置问题

如何用PYTHON解决搜索插入位置问题

11、nums = [1,3,5,6]

target = 7

for i in range(len(nums)):

    if nums[0] > target:

        print(0)

        break

    elif nums[i] == target:

        print(i)

        break

    elif target > nums[-1]:

        print(len(nums))

        break

    elif nums[i] < target and nums[i+1] > target:

        print(i+1)

        break

最后调整一下这样就是比较容易理解的。

如何用PYTHON解决搜索插入位置问题

  • 如何用PYTHON计算出矩形的面积
  • 找基本割集的简单方法
  • 如何用PYTHON递归算法计算列表包含的元素数
  • #python中如何删除字典中所有的元素?
  • 如何转换PYTHON3里的整型、浮点型和复数
  • 热门搜索
    受凉拉肚子怎么办 先科音响怎么样 新鲜蒲公英怎么吃最好 大米生虫子怎么办 压敏电阻怎么测量好坏 妈咪爱怎么吃 头顶疼是怎么回事 色带怎么换 微信怎么屏蔽群消息 毕业论文摘要怎么写