首页 > 其他分享 >LeetCode 35.搜索插入位置

LeetCode 35.搜索插入位置

时间:2023-07-18 23:01:03浏览次数:25  
标签:target nums 示例 mid 35 high 插入 low LeetCode

题目:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

示例 1:

输入: nums = [1,3,5,6], target = 5
输出: 2

示例 2:

输入: nums = [1,3,5,6], target = 2
输出: 1

示例 3:

输入: nums = [1,3,5,6], target = 7
输出: 4
class Solution(object):
    def searchInsert(self, nums, target):
        low = 0
        high = len(nums)
        while low < high:
            mid = (low + high)//2
            if nums[mid] < target:
                low = mid + 1
            elif nums[mid] > target:
                high = mid
            else:
                return mid
        return low

采用的是左闭右开,比较方便统一处理

标签:target,nums,示例,mid,35,high,插入,low,LeetCode
From: https://blog.51cto.com/u_16123878/6769401

相关文章

  • LeetCode 852. Peak Index in a Mountain Array 二分
    Anarrayarramountainifthefollowingpropertieshold:arr.length>=3Thereexistssomeiwith0<i<arr.length-1suchthat:arr[0]<arr[1]<...<arr[i-1]<arr[i]arr[i]>arr[i+1]>...>arr[arr.length-......
  • PyMySQL插入字典类型的数据
    importpymysqlMYSQL_CONFIG={'host':'localhost',#IP地址'port':3306,#端口'user':'root',#用户名'passwd':'123456',#密码'db':'layui',......
  • java mongo 插入geometry 多边形 线 点
    importcom.mongodb.client.MongoCollection;importcom.mongodb.client.model.geojson.LineString;importcom.mongodb.client.model.geojson.Point;importcom.mongodb.client.model.geojson.Polygon;importcom.mongodb.client.model.geojson.Position;importcom.tusvn.cc......
  • 8-102-(LeetCode- 207&210) 课程表
    1.题目 读题  考查点 2.解法思路这个问题可以用图论的方法来解决,具体思路如下:将课程和先修课程看作有向图的节点和边,如果要学习课程ai,则必须先学习课程bi,表示为bi->ai。判断图中是否存在环,如果存在环,则说明有些课程无法完成,返回false;如果不存在环,则说明所有课程都......
  • P6835 [Cnoi2020] 线形生物题解
    P6835[Cnoi2020]线形生物题解题目描述求从\(1\)到\(n+1\)的链的期望,其中有\(m\)条返祖边:\(u->v\)这条边\(u\gev\),等概率,求期望Solution这种爬楼梯的题一般求解\(E(x\rightarrowx+1)\),则最后答案为\(\sum_{i=1}^nE(i\rightarrowi+1)\)我们考虑从\(x\rightarr......
  • leetcode104二叉树搜索
    深度优先搜索,递归maxDepth(TreeNode*root){if(!root)return0;returnmax(maxDepth(root->left),maxDepth(root->right))+1;} 广度优先搜索,队列queue<TreeNode*>q;q.push(root);while(!q.empty()){intsize=q.size();while(size>0){Tree......
  • LeetCode 301. 删除无效的括号
    classSolution{public:vector<string>ans;vector<string>removeInvalidParentheses(strings){//lr分别记录要删除的左右括号数量intl=0,r=0;for(autoc:s)if(c=='(')l++;elseif(c=='......
  • 8-102-(LeetCode- 207&210) 课程表II
    1.题目读题210. 课程表II 考查点 2.解法思路 这道题的解答思路是使用拓扑排序来判断有向图是否有环,如果有环,说明无法完成所有课程,如果没有环,输出拓扑排序的结果。拓扑排序的基本思想是从有向图中选择一个没有前驱(即入度为0)的顶点并输出,然后从图中删除该顶点和所......
  • 【补充】批量插入
    【1】准备数据classBook(models.Model):title=models.CharField(max_length=32)【2】一条一条插入后端defab_many(request):#(1)先给Book表插入一万条数据foriinrange(1000):models.Book.objects.create(title=f'第{i}本书')#(2)将所有......
  • NO35、数组中的逆排序(建议再刷)
    35、数组中的逆排序很好的题目,建议再刷在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。即输出P%1000000007输入描述:题目保证输入的数组中没有的相同的数字数据范......