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

LeetCode[简单] 搜索插入位置

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

请必须使用时间复杂度为 O(log n) 的算法。

思路:类似与二分查找

唯一需要注意的是,搜索插入位置

在二分查找的过程中,如果 nums[mid] < target,则将 low 更新为 mid + 1,因此在二分查找结束之后有 nums[low] ≥ target。当目标值不存在时,二分查找结束之后有 nums[low] > target。又由于当 nums[mid] ≥ target 时不可能将 low 更新为比 mid 大的值,因此在二分查找结束之后有nums[low−1] < target。

因此在二分查找结束之后有 nums[low−1] < target < nums[low],low 即为目标值在数组中的插入位置。

public class Solution {public int SearchInsert(int[] nums, int target) {int low = 0, high = nums.Length - 1;int mid = (high + low)/2;while(low <= high){mid = (low + high)/2;if(nums[mid] == target)return mid;else if(nums[mid] > target)high = mid - 1;elselow = mid + 1;}return low;}
}

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

相关文章:

  • (代码可运行)Bootstrap框架的HTML示例
  • IntelliJ IDEA 2024创建Java项目
  • Python之 条件与循环(Python‘s Conditions and loops)
  • C++学习,多态纯虚函数
  • 飞速(FS)与西门子联合打造交换机自动化灌装测试生产线
  • Vue组合式API:setup()函数
  • Redis底层数据结构(详细篇)
  • 树和二叉树基本术语、性质
  • FEDERATED引擎
  • Android NDK工具
  • 使用 Docker 进入容器并运行命令的详细指南
  • 【人工智能】OpenAI最新发布的o1-preview模型,和GPT-4o到底哪个更强?最新分析结果就在这里!
  • Spring Boot-版本兼容性问题
  • Java原生HttpURLConnection实现Get、Post、Put和Delete请求完整工具类分享
  • 如何微调(Fine-tuning)大语言模型?
  • wopop靶场漏洞挖掘练习
  • 探索Python的隐秘角落:Keylogger库的神秘面纱
  • JAVA开源项目 校园管理系统 计算机毕业设计
  • Java--常见的接口--Comparable
  • luogu基础课题单 入门 上
  • 物理设计-物理数据模型优化策略
  • 产学研合作赋能产业升级新动能
  • uniapp tabBar不显示
  • 论文阅读《Robust Steganography for High Quality Images》高质量因子图片的鲁棒隐写
  • node前端开发基本设置
  • 深入掌握:如何进入Docker容器并运行命令
  • 把设计模式用起来(3)用不好的原因之时机不对
  • 【机器学习随笔】基于kmeans的车牌类型分类注意点
  • matlab处理函数3
  • 跨系统环境下LabVIEW程序稳定运行