您现在的位置是:首页 > 编程 > 

搜索插入位置(C++)

2025-07-25 10:15:53
搜索插入位置(C++) 搜索插入位置给定一个排序数组和一个目标值,在数组中到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。示例 1:代码语言:javascript代码运行次数:0运行复制输入: nums = [1,,5,6], target = 5 输出: 2示例 2:代码语言:javascript代码运行次数:

搜索插入位置(C++)

搜索插入位置

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

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

示例 1:

代码语言:javascript代码运行次数:0运行复制
输入: nums = [1,,5,6], target = 5
输出: 2

示例 2:

代码语言:javascript代码运行次数:0运行复制
输入: nums = [1,,5,6], target = 2
输出: 1

示例 :

代码语言:javascript代码运行次数:0运行复制
输入: nums = [1,,5,6], target = 7
输出: 4

提示:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums无重复元素升序 排列数组
  • -104 <= target <= 104

我的代码:

代码语言:javascript代码运行次数:0运行复制
class Solution {
// 二分查
public:
    int searchInsert(vector<int>& nums, int target) {
        int n = nums.size();
        if (n == 0) return 0;
        if (nums[n - 1] < target) return n; // 不存在会入这里
        int i = 0;
        int j = n - 1;
        // 二分查模板
        while(i < j)
        {
            int mid = i + (j - i) / 2;
            if (nums[mid] < target) i = mid + 1;
            else j = mid;
        }
        return i;
    }
};

对应我的掘金文章

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-10-19,如有侵权请联系 cloudcommunity@tencent 删除索引c++排序数组搜索

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1160574.html

相关标签:无
上传时间: 2025-07-20 14:11:39

上一篇:有效的括号(C++)

下一篇:组合总和(C++)

留言与评论(共有 14 条评论)
本站网友 黑龙江信息港
23分钟前 发表
2示例 2
本站网友 ume国际影城安贞店
5分钟前 发表
如果目标值不存在于数组中
本站网友 章艳老公
2分钟前 发表
如果目标值不存在于数组中
本站网友 棉纱价格走势
25分钟前 发表
原始发表:2022-10-19
本站网友 影结局
22分钟前 发表
返回它将会被按顺序插入的位置
本站网友 网上订鲜花
15分钟前 发表
6]
本站网友 牛奶洗脸
4分钟前 发表
5
本站网友 直接
17分钟前 发表
5
本站网友 大众点评网苏州
0秒前 发表
并返回其索引
本站网友 梅视网
6分钟前 发表
2示例 2
本站网友 长沙好房子网
29分钟前 发表
5
本站网友 沙门菌
6分钟前 发表
6]
本站网友 上海文广
21分钟前 发表
代码语言:javascript代码运行次数:0运行复制输入