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

【leetcode hot 100 35】搜索插入位置

解法一:二分查找法

class Solution {public int searchInsert(int[] nums, int target) {int n = nums.length;int left = 0, right = n - 1, location = n;while(left<=right){int mid = (left+right)/2;if(nums[mid]>=target){location = mid;right = mid-1;}else{left = mid+1;}}return location;}
}

注意:

  • location初始化为n(指针指向最右边,因为location用mid记录都是记录小于某个数应该在的位置,无法找到位置n),当nums[mid]>=target时更新为mid
  • 循环终止条件为left<=right
  • mid更新时,要记得+1 -1
  • 时间复杂度为 O(log n) 的算法 -> 二分查找
  • int mid = (left+right)/2 每次都取中间或者中间左边的那个数
  • int mid = (left+right+1)/2 每次都取中间或者中间右边的那个数

http://www.mrgr.cn/news/95816.html

相关文章:

  • 后端——AOP异步日志
  • Bitcoin Thunderbolt 内测通道开启,加速比特币交易新时代
  • [AI建模] 使用Pinokio本地化部署混元2D到3D AI建模服务
  • 19.哈希表的实现
  • 代码随想录算法训练营第五十六天 | 108.冗余连接 109.冗余连接II
  • 各类神经网络学习:(四)RNN 循环神经网络(下集),pytorch 版的 RNN 代码编写
  • 重庆邮电大学笔试F021 考纲解析
  • QT编程之PCM音频播放与采集
  • 【Javaweb】b站黑马视频学习笔记(导览)
  • Can Large Language Models be Anomaly Detectors for Time Series? 解读
  • Docker 镜像构建与优化
  • uv - Guides 指南 [官方文档翻译]
  • C语言 【实现电脑关机小游戏】非常好玩
  • 1.NextJS基础
  • WHAM 人体3d重建部署笔记 vitpose
  • Harbor镜像仓库迁移与高可用集群搭建HTTPS实现实战指南
  • C++11QT复习(二)
  • 数据结构之优先级队列
  • Atlas 800I A2 双机直连部署DeepSeek-R1-w8a8
  • Go常见问题与回答(下)