首页 > 试题广场 >

搜索插入位置

[编程题]搜索插入位置
  • 热度指数:11228 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
给出一个有序的数组和一个目标值,如果数组中存在该目标值,则返回该目标值的下标。如果数组中不存在该目标值,则返回如果将该目标值插入这个数组应该插入的位置的下标
假设数组中没有重复项。
下面给出几个样例:
[10,30,50,60], 50 → 2
[10,30,50,60], 20 → 1
[10,30,50,60], 70 → 4
[10,30,50,60], 0 → 0
示例1

输入

[10,30,50,60],50

输出

2
class Solution:
    def searchInsert(self , A , target ):
        # write code here
        start = 0
        end = len(A) - 1
        key = -1
        while(start<=end):
            mid = (start+end) // 2
            if A[mid] < target:
                start = mid + 1
                if key < mid:
                    key = mid
            else:
                end = mid - 1
        return key + 1
            
            
            
            
        

编辑于 2021-07-26 22:42:08 回复(0)