当前位置: 首页 > article >正文

搜索插入位置(35)

35. 搜索插入位置 - 力扣(LeetCode)

相关算法:二分查找最左侧和最右侧target的index-CSDN博客

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

总结:

计算时间复杂度O(N),空间复杂度O(1)。二分查找最左侧和最右侧target的index-CSDN博客 搜索最左侧的index,因为搜索最左侧的index,实际上是从右往左逼近。如果存在target,返回target的index,如果不存在target,这个时候ans记录的是比target小的下一位,刚好是需要插入的位置。


http://www.kler.cn/a/531435.html

相关文章:

  • Vue 3 30天精进之旅:Day 13 - 路由守卫
  • 汽车自动驾驶AI
  • FLTK - FLTK1.4.1 - demo - bitmap
  • 成绩案例demo
  • springboot 启动原理
  • 计算机毕业设计Python动漫推荐系统 漫画推荐系统 动漫视频推荐系统 机器学习 bilibili动漫爬虫 数据可视化 数据分析 大数据毕业设计
  • SpringBoot整合Mybatis|入门级增删改查|2025
  • Chromium132 编译指南 - Android 篇(五):获取源码
  • 八. Spring Boot2 整合连接 Redis(超详细剖析)
  • 自动化软件测试的基本流程
  • Ubuntu20安装docker
  • 【DeepSeek论文精读】6. DeepSeek R1:通过强化学习激发大语言模型的推理能力
  • coze扣子新一代AI应用开发平台
  • 利用matlab寻找矩阵中最大值及其位置
  • 详解分布式锁
  • 在K8S中,有哪几种控制器类型?
  • 深度学习 Pytorch 基础网络手动搭建与快速实现
  • 【Linux】24.进程信号(1)
  • Array.prototype 方法在复杂数据处理中的应用
  • 深入解析 posix_spawn():高效的进程创建方式(中英双语)
  • Spark的基本概念
  • 如何选择Spring AOP的动态代理?JDK与CGLIB的适用场景?
  • 42【文件名的编码规则】
  • linux运行级别
  • 深入理解 `box-sizing: border-box;`:CSS 布局的利器
  • 【LLM】旋转位置编码 RoPE