搜索插入位置(C++)
搜索插入位置(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组装电脑配置单推荐报价格
上传时间: 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运行复制输入 |