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

2025-11-05 18:55:56

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解决搜索插入位置问题

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢