给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为
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提示:
1 <= nums.length <= 104-104 <= nums[i] <= 104nums为 无重复元素 的 升序排列数组-104 <= target <= 104
cppclass Solution { public: int searchInsert(vector<int>& nums, int target) { int l=0,r=nums.size()-1; while(l<r) { int mid=(l+r)/2; if(nums[mid]<target) { l=mid+1; }else{ r=mid; } } if(nums[r]<target) return nums.size(); return l; } };
LeetCode 35. 搜索插入位置
Liangwei Lin2026-05-12 11:38
相关推荐
FPGA信号处理9 分钟前
【凸优化】第一节课(下):保凸运算、分离超平面与 Farkas 引理怕浪猫25 分钟前
Agent 的记忆系统怎么设计?面试官想听的是这个C++ 老炮儿的技术栈29 分钟前
C++ const 的3个核心作用有毒的教程41 分钟前
Dev-C++ 避免爆栈(Stack Overflow)完整方案在所不辞兄1 小时前
刚性问题误差容限设置技巧啊啊啊啊啊!!!!1 小时前
unordered_map和unordered_set的使用java_nnnn1 小时前
LeetCode刷题双指针(快乐数+盛最多水的容器)Javayi01110 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”灯澜忆梦12 小时前
【面向对象编程C++】| 基础语法禾小西13 小时前
Redis 数据结构:快速的 Redis 有哪些慢操作?