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

在做题中学习(50):搜索插入位置

35. 搜索插入位置 - 力扣(LeetCode)

解法:二分查找

思路:题目是有序的,时间复杂度O(logN),二分没跑了,题目说如果找不到target,返回它应该被插入位置的下标,所以可以分析一下示例2:

可以把数组分为两部分,当找到>=target区间的左端点时,它的下标正好是要被输出的下标,所以

1.数组有二段性,可以用二分

2.用求区间左端点的方法解决这道题。不了解的看这个在做题中学习(49):排序数组中查找元素的第一个和最后一个位置-CSDN博客

细节

因为有示例3这种,数组元素都比target小的情况,所以此时单独判断,如果数组最后一个元素<target,返回num.size()即可。

class Solution 
{
public:int searchInsert(vector<int>& nums, int target) {int left = 0,right = nums.size()-1;if(nums[nums.size()-1] < target)return nums.size();int mid = 0;while(left<right){//1.找区间左端点mid = left + (right - left) /2;if(nums[mid] < target)left = mid + 1;else right = mid;}//走到这里,返回左端点return left;}
};

http://www.lryc.cn/news/343287.html

相关文章:

  • 【mysql】mysql单表查询、多表查询、分组查询、子查询等案例详细解析
  • 【Gateway远程开发】0.5GB of free space is necessary to run the IDE.
  • 普通组件的注册-局部注册和全局注册
  • Apache Dubbo知识点表格总结
  • 电路板/硬件---器件
  • STC15W1K16S和VC6.0串口通讯收发测试实例
  • Python程序设计 函数(三)
  • linux之ssh
  • excel如何将多列数据转换为一列?
  • 【Java 刷题记录】前缀和
  • NVIDIA: RULER新测量方法让大模型现形
  • 2024数学-微积分和线性代数/本科研究生专业考试/考研/论文/重点公式考点汇总/最难公式投票
  • 代码随想录训练营Day33(贪心算法):Leetcode1005、134、135(难得有一天能完全独立做出题目)
  • Flutter笔记:Widgets Easier组件库(12)使用消息吐丝(Notify Toasts)
  • 从《春色寄情人》学习如何面对死亡
  • 使用moveit控制机械臂
  • Mysql报错红温集锦(一)(ipynb配置、pymysql登录、密码带@、to_sql如何加速、触发器SIGNAL阻止插入数据)
  • ASP.NET Core SignalR 配置与集成测试究极指南
  • JENKINS 安装,学习运维从这里开始
  • 大语言模型从Scaling Laws到MoE
  • 四级英语翻译随堂笔记
  • Nacos支持的配置格式及其在微服务架构中的应用
  • 2024年华为OD机试真题-小明找位置-(C++)-OD统一考试(C卷D卷)
  • 机器人系统ros2内部接口介绍
  • 跟随Facebook的足迹:社交媒体背后的探索之旅
  • 面试题分享之Java并发篇
  • bpmn-js 多实例配置MultiInstanceLoopCharacteristics实现或签会签
  • 【gpedit.msc】组策略编辑器的安装,针对windows家庭版,没有此功能
  • 带EXCEL附件邮件发送相关代码
  • 【算法作业】均分卡牌,购买股票