当前位置: 首页 > 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,当nums[mid]>=target时更新为mid
  • 循环终止条件为left<=right
  • mid更新时,要记得+1 -1
  • 时间复杂度为 O(log n) 的算法 -> 二分查找
  • int mid = (left+right)/2 每次都取中间或者中间左边的那个数
  • int mid = (left+right+1)/2 每次都取中间或者中间右边的那个数

相关文章:

  • ZIP_STORED和ZIP_LZMA没有compresslevel参数!
  • html css js网页制作成品——HTML+CSS+js迪奥口红网站网页设计(4页)附源码
  • 智能汽车图像及视频处理方案,支持视频实时拍摄特效能力
  • Docker-Compose部署 EasySearch 异常问题排查
  • 探索AI的无限可能,体验智能对话的未来,大模型 API 演示
  • Qt 高效读写JSON文件,玩转QJsonDocument与QJsonObject
  • Unity跨平台构建快速回顾
  • [React 进阶系列] 组合组件 复合组件
  • Ubuntu系统使用nmcli配置静态IP
  • 机器学习之条件概率
  • 知识篇 | Oracle的 TEMP表空间管理和优化
  • 【Java语言】学习笔记-08面向对象【中级】继承的本质分析、快速入门、方法重写、Super关键字的基本语法和使用等细节详解(中)
  • Rust+WebAssembly:开启浏览器3D渲染新时代
  • 微信自动跟圈指南;一个号发其他号自动转发
  • 【AndroidRTC-10】webrtc是如何确定双端的编解码类型?
  • GC overhead limit exceeded---Java 虚拟机 (JVM) 在进行垃圾回收内存量非常少解决
  • 【机器人】复现 GrainGrasp 精细指导的灵巧手抓取
  • Android开发检查是否是各大厂商手机的工具类
  • Redis 服务搭建
  • Spring MVC的请求和响应
  • 专访|导演王沐:希望听障家庭的声响被更多人听到
  • 商务部新闻发言人就美国企图全球禁用中国先进计算芯片发表谈话
  • 同济大学党委常务副书记冯身洪履新中国科协党组副书记
  • 凤阳文旅局长回应鼓楼瓦片脱落事件:楼宇是否属于文物?施工经费用在何处?
  • 存款利率、LPR同日下调,机构称对银行的影响偏正面
  • 李根读《野兽之魂》|拨开高深的布幔,直窥历史的复杂