Leetcode 二分模板

java 复制代码
int module(int l,int r,IntPredicate check){
    int ans=r+1;
    
    while(l<=r){
        int mid=l+(r-l)/2;
        if(check.test(mid)){
            ans=mid;
            r=mid-1;
        }else{
            l=mid+1;
        }
    }
    return ans;

}

二分法利用单调性 ,把"在有序/可判定的空间里找一个位置或一个值"的代价从 O(n) 降到 O(log n)。每问一次"中点行不行",就能排除掉一半的候选。

二分算法要注意边界

相关推荐
bksczm1 小时前
数据结构的大纲概括
数据结构
youshi66681 小时前
平衡车——PID算法优化
stm32·单片机·嵌入式硬件·算法·pid·平衡车
霸道流氓气质1 小时前
多Agent通信机制与协议设计完全指南:从FIPA-ACL到A2A/MCP的Java生产级实战
java·开发语言
007张三丰2 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·c语言·c++·内存管理
骇客野人2 小时前
Java BIO / NIO / AIO 完整详解 + 编程技巧
java·开发语言·nio
霸道流氓气质2 小时前
OpenTelemetry 入门与实战:Java Agent、Spring Boot Starter与LLM调用追踪示例
java·开发语言·spring boot
m0_587383002 小时前
24 小时自助健身房系统软件开发实战指南与案例解析
java·spring boot·spring·系统架构·需求分析
千千寰宇2 小时前
[数据库系统] 数据库系统的设计原理研究
数据结构·数据库·database-opengemini/influxdb·database-dament/达梦