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

搜索插入位置

题目描述:

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

请必须使用时间复杂度为 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

算法思想:

由于该题指定算法时间复杂度 为O(log n),则该题的解题思路可以利用二分法来进行求解。
另外,二分法,一定要注意区间范围,否则容易出现边界错误。

代码生成:

class Solution {
public:int searchInsert(vector<int>& nums, int target) {int left= 0,right = nums.size()-1,middle;while(left <= right){middle = (left + right)/2;if(nums[middle] < target)left = middle + 1;else if(nums[middle] > target)right = middle - 1;else  return middle;}return left;}
};
http://www.lryc.cn/news/118629.html

相关文章:

  • Centos Linux快速复制文件并查看进度的方法(保留文件原始时间戳等属性)
  • 牛奶产业链的工业“链主品牌”利乐是如何诞生的?
  • 【历史上的今天】8 月 11 日:苹果电脑之父诞生;阿里巴巴收购雅虎中国;OpenAI 击败电竞世界冠军
  • Flutter 报错 Could not create task ‘xxx‘.this and base files have different roots
  • 单调递增的数字——力扣738
  • STL文件格式详解【3D】
  • 【分布式技术专题】RocketMQ延迟消息实现原理和源码分析
  • Qt中ffmpeg API存储和显示摄像头视频
  • jfinal tomcat部署
  • Linux - MongoDB 数据库自动退出服务问题/闪退
  • B2B2C多语言电商系统平台搭建,多用户商城系统搭建(app、小程序、微商城)
  • 【MySQL】创建高级联结
  • chatGPT应用于房地产行业
  • java之jmh初识及使用
  • 利用状态监测和机器学习提高冷却塔性能的具体方法
  • LeetCode_02_1289. 下降路径最小和 II
  • consul servicecheck 查看健康信息
  • 什么是信息孤岛?如何打破信息孤岛?
  • Android开源 Skeleton 骨架屏
  • 都说IT就业难?到底难在哪?
  • STM32芯片的内部架构介绍
  • Angular FormControl value属性的一些事
  • Nim游戏:取石头
  • springboot国际化
  • 12种不宜使用的Javascript语法
  • vue3+element-plus点击列表中的图片预览时,图片被表格覆盖
  • flutter:二维码生成与读取
  • Camunda 7.x 系列【14】核心概念
  • matplotlib 笔记:hist2d 2D直方图
  • 数据库优化脚本执行报错