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

二分搜索(二)搜索插入位置

35. 搜索插入位置

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

请必须使用时间复杂度为 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 {
public:
    int searchInsert(vector<int>& nums, int target) {
        int left = 0, right = nums.size() - 1;
        while(left <= right)
        {
            int mid = left + (right - left)/2;
            if(target == nums[mid])
                return mid;
            else if(target < nums[mid])
                right = mid - 1;
            else 
                left = mid + 1;
        }
        return left; // 注意最终插入返回值
    }
};

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

相关文章:

  • Android -- 简易音乐播放器
  • 简单搭建qiankun的主应用和子应用并且用Docker进行服务器部署
  • DVWA靶场文件包含(File Inclusion)通关教程(high级别)
  • Python系列 - MQTT协议
  • Git仓库迁移到远程仓库(源码、分支、提交)
  • 鸿蒙NEXT元服务:利用App Linking实现无缝跳转与二维码拉起
  • javascript切换类、删除类、修改类以及增加类
  • 低代码与微服务融合在医疗集团中的补充应用探究
  • 计算机网络--网络安全测试
  • 【关闭or开启电脑自带的数字键盘】
  • 第1章-JVM和Java体系架构
  • 【QNX+Android虚拟化方案】127 - QNX侧 uart 读写程序分析
  • MySQL中的count函数
  • 大模型开发和微调工具Llama-Factory-->量化2(AQLM和OFTQ)
  • Ubuntu在NVME硬盘使用Systemback安装记录
  • Design Linear Filters in the Frequency Domain (MATLAB帮助文档)
  • Python json 序列化
  • mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?
  • Linux —— 《线程控制》
  • nmap基本用法
  • 【小白学机器学习39】如何用numpy生成总体,生成样本samples
  • 【RISC-V CPU debug 专栏 2.3 -- Run Control】
  • .NET周刊【11月第4期 2024-11-24】
  • React与Ant Design入门指南
  • springboot336社区物资交易互助平台pf(论文+源码)_kaic
  • Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题