首页 > 其他分享 >35. 搜索插入位置(leetcode)

35. 搜索插入位置(leetcode)

时间:2023-04-19 20:25:46浏览次数:51  
标签:return target nums int mid 35 插入 leetcode

https://leetcode.cn/problems/search-insert-position/

简单二分,这里可以判断return,相当于剪枝

这里的写法最后更新后的l或r一定可以使得nums[l] 或者nums[r]>=target

所以退出循环最后的l或r就是第一个大于等于target的下标

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int l=0,r=nums.size()-1;
        if(target>nums[r])return r+1;
        while(l<r)
        {
            int mid=l+r>>1;
            if(nums[mid]>=target)r=mid;
            else l=mid+1;
        }
        return l;
    }
};

 

标签:return,target,nums,int,mid,35,插入,leetcode
From: https://www.cnblogs.com/lxl-233/p/17334489.html

相关文章

  • 704. 二分查找(leetcode)
    https://leetcode.cn/problems/binary-search/简单二分classSolution{public:intsearch(vector<int>&nums,inttarget){intl=0,r=nums.size()-1;while(l<r){intmid=l+r>>1;if(nums[mid]......
  • 递归-leetcode 114
    给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。示例1:输入:root=[1,2,5,3,4,null,6]输出:[1,null,2,null,3,nu......
  • 迅为RK3568核心板应用于智慧交通解决方案
    让智慧通行领域迅速发展。在数字化、智能化、网络化的发展进程中,人们对智慧通行管理与服务提出了更迅捷、安全和人性化的服务需求。迅为推出RK3568系列主板,助力城市智慧通行发展。智慧交通在智能交通的基础上,融入物联网、云计算、大数据、移动互联网等新技术,通过汇集交通信息,提供实......
  • 【DP】LeetCode 题号.题目
    题目链接377.组合总和Ⅳ思路分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数组的动态规划问题中,一般dp[i]都是表示以nums[i]为结尾的状态;dp[i][j]分别表示以nums1[i]和nums2[j]为结尾的状态,以此类推......
  • leetcode刷题随笔(2)
    42.收集雨水(TrappingRainWater)方法一:利用双指针交叉循环求解,时间复杂度O(n)//接雨水inttrap(vector<int>&height){inti=0,j=height.size()-1;intleft_max=0,right_max=0;intvan=0;while(i<j){if(height[i]......
  • LeetCode Top100: 反转链表 (python)
     给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1:输入:head=[1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head=[1,2]输出:[2,1]示例3:输入:head=[]输出:[] 提示:链表中节点的数目范围是 [0,5000]-5000<=Node.val<=5000实现:给你......
  • 插入式注解
    目录0x01Lombok0x02插入式注解处理器AbstractProcessor注解配置参数工具类0x03初始化注解处理器JavaCompilerJavacProcessingEnvironmentJavacProcessingEnvironment#DiscoveredProcessorsJavacProcessingEnvironment#ProcessorState0x04运行注解处理器JavaCompilerJavacProcess......
  • LeetCode Top100: 翻转二叉树(python)
    给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例1:输入:root=[4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例2:输入:root=[2,1,3]输出:[2,3,1]示例3:输入:root=[]输出:[] 提示:树中节点数目范围在 [0,100] 内-100<=Node.val<=100实......
  • LeetCode Top 100: 二叉树的直径 (python)
     给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例:给定二叉树1/\23/\45返回 3,它的长度是路径[4,2,1,3]......
  • 4月18日leetcode二叉树几种遍历方式的非递归和递归
    给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例1:二叉树的前序中序和后序遍历算法是学习二叉树必不可少的,若是使用c语言遍历前中后序还是比较繁琐的,因为要考虑遍历结果存放的序列大小问题,想要解决这个问题就得想用递归计算二叉树的节点数量,再调用递归子函数完......