给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为
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
相关推荐
小李飞刀李寻欢1 小时前
DeepSeek V3 版本模型结构分析某不知名網友1 小时前
C++ 七大排序算法完整讲解:-)2 小时前
算法-希尔排序得物技术2 小时前
得物推荐系统诊断 Agent:从 “调接口” 到 “会思考”|AICon 演讲整理Lugas2 小时前
为啥说男生找对象尽量在25岁前找到?MrZhao4002 小时前
从能跑到可用:一个 Agent Harness 还差哪些工程闭环?QN1幻化引擎2 小时前
Gravity-Anchored Cognitive Field Architecture: The DalinX V8/V10 Implementation学计算机的计算基3 小时前
LeetCode 图论四题精讲:BFS、拓扑排序、Trie 树的模板与优化浩瀚地学3 小时前
【面试算法笔记】0202-链表-基本功能实现tkevinjd3 小时前
416分割等和子集