跳至主要內容

二分查找


二分查找

全部标签

数据结构

数组 矩阵 链表 双向链表 单调栈 队列 单调队列 堆(优先队列) 哈希表 字符串 字符串匹配 二叉树 二叉搜索树 最小生成树 有序集合 拓扑排序 最短路 强连通分量 欧拉回路 双连通分量 并查集 字典树 线段树 树状数组 后缀数组

算法

枚举 递归 分治 回溯 贪心 动态规划 排序 桶排序 计数排序 基数排序 归并排序 快速选择 二分查找 记忆化搜索 深度优先搜索 广度优先搜索 双指针 位运算 前缀和 计数 滑动窗口 状态压缩 哈希函数 滚动哈希 扫描线

其他

数学 数论 几何 博弈 模拟 组合数学 随机化 概率与统计 水塘抽样 拒绝采样 数据库 设计 数据流 脑筋急转弯 交互 迭代器 多线程


题号标题题解标签难度
4寻找两个正序数组的中位数open in new window[✓]数组 二分查找 分治
33搜索旋转排序数组open in new window[✓]数组 二分查找
34在排序数组中查找元素的第一个和最后一个位置open in new window[✓]数组 二分查找
35搜索插入位置open in new window[✓]数组 二分查找
69x 的平方根open in new window[✓]数学 二分查找
74搜索二维矩阵open in new window[✓]数组 二分查找 矩阵
81搜索旋转排序数组 IIopen in new window[✓]数组 二分查找
153寻找旋转排序数组中的最小值open in new window[✓]数组 二分查找
154寻找旋转排序数组中的最小值 IIopen in new window[✓]数组 二分查找
162寻找峰值open in new window[✓]数组 二分查找
167两数之和 II - 输入有序数组open in new window[✓]数组 双指针 二分查找
209长度最小的子数组open in new window[✓]数组 二分查找 前缀和 1+
222完全二叉树的节点个数open in new window[✓]位运算 二分查找 1+
240搜索二维矩阵 IIopen in new window[✓]数组 二分查找 分治 1+
259较小的三数之和 🔒open in new window[✓]数组 双指针 二分查找 1+
268丢失的数字open in new window[✓]位运算 数组 哈希表 3+
270最接近的二叉搜索树值 🔒open in new window 深度优先搜索 二叉搜索树 2+
275H 指数 IIopen in new window[✓]数组 二分查找
278第一个错误的版本open in new window[✓]二分查找 交互
287寻找重复数open in new window[✓]位运算 数组 双指针 1+
300最长递增子序列open in new window[✓]数组 二分查找 动态规划
302包含全部黑色像素的最小矩形 🔒open in new window深度优先搜索 广度优先搜索 数组 2+
315计算右侧小于当前元素的个数open in new window树状数组 线段树 数组 4+
327区间和的个数open in new window树状数组 线段树 数组 4+
349两个数组的交集open in new window数组 哈希表 双指针 2+
350两个数组的交集 IIopen in new window数组 哈希表 双指针 2+
352将数据流变为多个不相交区间open in new window设计 二分查找 有序集合
354俄罗斯套娃信封问题open in new window[✓]数组 二分查找 动态规划 1+
362敲击计数器 🔒open in new window设计 队列 数组 2+
363矩形区域不超过 K 的最大数值和open in new window数组 二分查找 矩阵 2+
367有效的完全平方数open in new window数学 二分查找
374猜数字大小open in new window[✓]二分查找 交互
378有序矩阵中第 K 小的元素open in new window[✓]数组 二分查找 矩阵 2+
400第 N 位数字open in new window[✓]数学 二分查找
410分割数组的最大值open in new window贪心 数组 二分查找 2+
436寻找右区间open in new window数组 二分查找 排序
441排列硬币open in new window数学 二分查找
456132 模式open in new window 数组 二分查找 2+
475供暖器open in new window数组 双指针 二分查找 1+
483最小好进制open in new window数学 二分查找
493翻转对open in new window树状数组 线段树 数组 4+
497非重叠矩形中的随机点open in new window水塘抽样 数组 数学 4+
528按权重随机选择open in new window数组 数学 二分查找 2+
532数组中的 k-diff 数对open in new window数组 哈希表 双指针 2+
540有序数组中的单一元素open in new window数组 二分查找
611有效三角形的个数open in new window[✓]贪心 数组 双指针 2+
633平方数之和open in new window数学 双指针 二分查找
644子数组最大平均数 II 🔒open in new window数组 二分查找 前缀和
658找到 K 个最接近的元素open in new window数组 双指针 二分查找 3+
668乘法表中第k小的数open in new window数学 二分查找
702搜索长度未知的有序数组 🔒open in new window数组 二分查找 交互
704二分查找open in new window[✓]数组 二分查找
710黑名单中的随机数open in new window数组 哈希表 数学 3+
713乘积小于 K 的子数组open in new window数组 二分查找 前缀和 1+
718最长重复子数组open in new window数组 二分查找 动态规划 3+
719找出第 K 小的数对距离open in new window数组 双指针 二分查找 1+
729我的日程安排表 Iopen in new window[✓]设计 线段树 数组 2+
731我的日程安排表 IIopen in new window[✓]设计 线段树 数组 3+
732我的日程安排表 IIIopen in new window设计 线段树 二分查找 2+
744寻找比目标字母大的最小字母open in new window数组 二分查找
754到达终点数字open in new window数学 二分查找
774最小化去加油站的最大距离 🔒open in new window数组 二分查找
778水位上升的泳池中游泳open in new window深度优先搜索 广度优先搜索 并查集 4+
786第 K 个最小的质数分数open in new window数组 双指针 二分查找 2+
792匹配子序列的单词数open in new window字典树 数组 哈希表 4+
793阶乘函数后 K 个零open in new window数学 二分查找
825适龄的朋友open in new window数组 双指针 二分查找 1+
826安排工作以达到最大收益open in new window贪心 数组 双指针 2+
852山脉数组的峰顶索引open in new window[✓]数组 二分查找
862和至少为 K 的最短子数组open in new window队列 数组 二分查找 4+
875爱吃香蕉的珂珂open in new window数组 二分查找
878第 N 个神奇数字open in new window数学 二分查找
887鸡蛋掉落open in new window数学 二分查找 动态规划
888公平的糖果交换open in new window数组 哈希表 二分查找 1+
902最大为 N 的数字组合open in new window数组 数学 字符串 2+
911在线选举open in new window设计 数组 哈希表 1+
981基于时间的键值存储open in new window设计 哈希表 字符串 1+
1004最大连续1的个数 IIIopen in new window[✓]数组 二分查找 前缀和 1+
1011在 D 天内送达包裹的能力open in new window数组 二分查找
1027最长等差数列open in new window数组 哈希表 二分查找 1+
1044最长重复子串open in new window字符串 二分查找 后缀数组 3+
1055形成字符串的最短路径 🔒open in new window贪心 双指针 字符串 1+
1060有序数组中的缺失元素 🔒open in new window数组 二分查找
1062最长重复子串 🔒open in new window字符串 二分查找 动态规划 3+
1064不动点 🔒open in new window数组 二分查找
1095山脉数组中查找目标值open in new window数组 二分查找 交互
1099小于 K 的两数之和 🔒open in new window数组 双指针 二分查找 1+
1102得分最高的路径 🔒open in new window深度优先搜索 广度优先搜索 并查集 4+
1146快照数组open in new window设计 数组 哈希表 1+
1150检查一个数是否在数组中占绝大多数 🔒open in new window数组 二分查找
1157子数组中占绝大多数的元素open in new window设计 树状数组 线段树 2+
1170比较字符串最小字母出现频次open in new window数组 哈希表 字符串 2+
1182与目标颜色间的最短距离 🔒open in new window数组 二分查找 动态规划
1187使数组严格递增open in new window数组 二分查找 动态规划 1+
1198找出所有行中最小公共元素 🔒open in new window数组 哈希表 二分查找 2+
1201丑数 IIIopen in new window数学 二分查找 组合数学 1+
1208尽可能使字符串相等open in new window字符串 二分查找 前缀和 1+
1213三个有序数组的交集 🔒open in new window数组 哈希表 二分查找 1+
1214查找两棵二叉搜索树之和 🔒open in new window 深度优先搜索 4+
1231分享巧克力 🔒open in new window数组 二分查找
1235规划兼职工作open in new window数组 二分查找 动态规划 1+
1237找出给定方程的正整数解open in new window数学 双指针 二分查找 1+
1268搜索推荐系统open in new window字典树 数组 字符串 3+
1283使结果不超过阈值的最小除数open in new window数组 二分查找
1292元素和小于等于阈值的正方形的最大边长open in new window数组 二分查找 矩阵 1+
1300转变数组后最接近目标值的数组和open in new window数组 二分查找 排序
1337矩阵中战斗力最弱的 K 行open in new window数组 二分查找 矩阵 2+
1346检查整数及其两倍数是否存在open in new window数组 哈希表 双指针 2+
1348推文计数open in new window设计 哈希表 二分查找 2+
1351统计有序矩阵中的负数open in new window数组 二分查找 矩阵
1385两个数组间的距离值open in new window数组 双指针 二分查找 1+
1428至少有一个 1 的最左端列 🔒open in new window数组 二分查找 交互 1+
1439有序矩阵中的第 k 个最小数组和open in new window数组 二分查找 矩阵 1+
1477找两个和为目标值且不重叠的子数组open in new window数组 哈希表 二分查找 2+
1482制作 m 束花所需的最少天数open in new window数组 二分查找
1483树节点的第 K 个祖先open in new window 深度优先搜索 广度优先搜索 3+
1488避免洪水泛滥open in new window贪心 数组 哈希表 2+
1498满足条件的子序列数目open in new window数组 双指针 二分查找 1+
1508子数组和排序后的区间和open in new window数组 双指针 二分查找 1+
1521找到最接近目标值的函数值open in new window位运算 线段树 数组 1+
1533找到最大整数的索引 🔒open in new window数组 二分查找 交互
1539第 k 个缺失的正整数open in new window数组 二分查找
1552两球之间的磁力open in new window数组 二分查找 排序
1562查找大小为 M 的最新分组open in new window数组 哈希表 二分查找 1+
1574删除最短的子数组使剩余数组有序open in new window 数组 双指针 2+
1608特殊数组的特征值open in new window数组 二分查找 排序
1618找出适应屏幕的最大字号 🔒open in new window数组 字符串 二分查找 1+
1631最小体力消耗路径open in new window深度优先搜索 广度优先搜索 并查集 4+
1648销售价值减少的颜色球open in new window贪心 数组 数学 3+
1649通过指令创建有序数组open in new window树状数组 线段树 数组 4+
1658将 x 减到 0 的最小操作数open in new window数组 哈希表 二分查找 2+
1671得到山形数组的最少删除次数open in new window[✓]贪心 数组 二分查找 1+
1712将数组分成三个子数组的方案数open in new window数组 双指针 二分查找 1+
1713得到子序列的最少操作次数open in new window贪心 数组 哈希表 1+
1739放置盒子open in new window贪心 数学 二分查找
1751最多可以参加的会议数目 IIopen in new window数组 二分查找 动态规划 1+
1760袋子里最少数目的球open in new window数组 二分查找
1782统计点对的数目open in new window 数组 双指针 2+
1793好子数组的最大分数open in new window 数组 双指针 2+
1802有界数组中指定下标处的最大值open in new window贪心 二分查找
1818绝对差值和open in new window数组 二分查找 有序集合 1+
1838最高频元素的频数open in new window贪心 数组 二分查找 3+
1847最近的房间open in new window数组 二分查找 有序集合 1+
1851包含每个查询的最小区间open in new window数组 二分查找 排序 2+
1855下标对中的最大距离open in new window数组 双指针 二分查找
1862向下取整数对和open in new window数组 数学 二分查找 1+
1870准时到达的列车最小时速open in new window数组 二分查找
1885统计数对 🔒open in new window数组 双指针 二分查找 1+
1889装包裹的最小浪费空间open in new window数组 二分查找 前缀和 1+
1891割绳子 🔒open in new window数组 二分查找
1894找到需要补充粉笔的学生编号open in new window数组 二分查找 前缀和 1+
1898可移除字符的最大数目open in new window数组 双指针 字符串 1+
1901寻找峰值 IIopen in new window数组 二分查找 矩阵
1918第 K 小的子数组和 🔒open in new window数组 二分查找 滑动窗口
1923最长公共子路径open in new window数组 二分查找 后缀数组 2+
1932合并多棵二叉搜索树open in new window 深度优先搜索 哈希表 2+
1954收集足够苹果的最小花园周长open in new window数学 二分查找
1956感染 K 种病毒所需的最短时间 🔒open in new window几何 数组 数学 2+
1964找出到每个位置为止最长的有效障碍赛跑路线open in new window树状数组 数组 二分查找
1966未排序数组中的可被二分搜索的数 🔒open in new window数组 二分查找
1970你能穿过矩阵的最后一天open in new window深度优先搜索 广度优先搜索 并查集 3+
2008出租车的最大盈利open in new window数组 哈希表 二分查找 2+
2009使数组连续的最少操作数open in new window数组 哈希表 二分查找 1+
2024考试的最大困扰度open in new window字符串 二分查找 前缀和 1+
20311 比 0 多的子数组个数 🔒open in new window树状数组 线段树 数组 4+
2035将数组分成两个数组并最小化数组和的差open in new window位运算 数组 双指针 4+
2040两个有序数组的第 K 小乘积open in new window数组 二分查找
2054两个最好的不重叠活动open in new window数组 二分查找 动态规划 2+
2055蜡烛之间的盘子open in new window数组 字符串 二分查找 1+
2064分配给商店的最多商品的最小值open in new window数组 二分查找
2070每一个查询的最大美丽值open in new window数组 二分查找 排序
2071你可以安排的最多任务数目open in new window贪心 队列 数组 3+
2080区间内查询数字的频率open in new window设计 线段树 数组 2+
2089找出数组排序后的目标下标open in new window数组 二分查找 排序
2106摘水果open in new window数组 二分查找 前缀和 1+
2111使数组 K 递增的最少操作次数open in new window数组 二分查找
2137通过倒水操作让所有的水桶所含水量相等 🔒open in new window数组 二分查找
2141同时运行 N 台电脑的最长时间open in new window贪心 数组 二分查找 1+
2179统计数组中好三元组数目open in new window树状数组 线段树 数组 4+
2187完成旅途的最少时间open in new window数组 二分查找
2223构造字符串的总得分和open in new window字符串 二分查找 字符串匹配 3+
2226每个小孩最多能分到多少糖果open in new window数组 二分查找
2234花园的最大总美丽值open in new window贪心 数组 双指针 2+
2250统计包含每个点的矩形数目open in new window树状数组 数组 二分查找 1+
2251花期内花的数目open in new window数组 哈希表 二分查找 3+
2258逃离火灾open in new window广度优先搜索 数组 二分查找 1+
2271毯子覆盖的最多白色砖块数open in new window贪心 数组 二分查找 2+
2286以组为单位订音乐会的门票open in new window设计 树状数组 线段树 1+
2300咒语和药水的成功对数open in new window数组 双指针 二分查找 1+
2302统计得分小于 K 的子数组数目open in new window数组 二分查找 前缀和 1+
2332坐上公交的最晚时间open in new window数组 双指针 二分查找 1+
2333最小差值平方和open in new window贪心 数组 二分查找 2+
2354优质数对的数目open in new window位运算 数组 哈希表 1+
2358分组的最大数量open in new window贪心 数组 数学 1+
2387行排序矩阵的中位数 🔒open in new window数组 二分查找 矩阵
2389和有限的最长子序列open in new window贪心 数组 二分查找 2+
2398预算内的最多机器人数目open in new window队列 数组 二分查找 4+
2411按位或最大的最小子数组长度open in new window位运算 数组 二分查找 1+
2424最长上传前缀open in new window并查集 设计 树状数组 4+
2426满足不等式的数对数目open in new window树状数组 线段树 数组 4+
2439最小化数组中的最大值open in new window贪心 数组 二分查找 2+
2448使数组相等的最小开销open in new window贪心 数组 二分查找 2+
2454下一个更大元素 IVopen in new window 数组 二分查找 3+
2468根据限制分割消息open in new window字符串 二分查找
2476二叉搜索树最近节点查询open in new window 深度优先搜索 二叉搜索树 3+
2498青蛙过河 IIopen in new window贪心 数组 二分查找
2501数组中最长的方波open in new window[✓]数组 哈希表 二分查找 2+
2513最小化两个数组中的最大值open in new window数学 二分查找 数论
2517礼盒的最大甜蜜度open in new window贪心 数组 二分查找 1+
2519统计 K-Big 索引的数量 🔒open in new window树状数组 线段树 数组 4+
2528最大化城市的最小电量open in new window贪心 队列 数组 3+
2529正整数和负整数的最大计数open in new window数组 二分查找 计数
2540最小公共值open in new window数组 哈希表 双指针 1+
2554从一个范围内选择最多整数 Iopen in new window贪心 数组 哈希表 2+
2555两个线段获得的最多奖品open in new window数组 二分查找 滑动窗口
2557从一个范围内选择最多整数 II 🔒open in new window贪心 数组 二分查找 1+
2560打家劫舍 IVopen in new window数组 二分查找
2563统计公平数对的数目open in new window数组 双指针 二分查找 1+
2565最少得分子序列open in new window双指针 字符串 二分查找
2576求出最多标记下标open in new window贪心 数组 双指针 2+
2589完成所有任务的最少时间open in new window 贪心 数组 2+
2594修车的最少时间open in new window数组 二分查找
2601质数减法运算open in new window贪心 数组 数学 2+
2602使数组元素全部相等的最少操作次数open in new window数组 二分查找 前缀和 1+
2604吃掉所有谷子的最短时间 🔒open in new window数组 双指针 二分查找 1+
2616最小化数对的最大差值open in new window贪心 数组 二分查找
2659将数组清空open in new window贪心 树状数组 线段树 4+
2702使数字变为非正数的最小操作次数 🔒open in new window数组 二分查找
2713矩阵中严格递增的单元格数open in new window记忆化搜索 数组 哈希表 5+
2736最大和查询open in new window 树状数组 线段树 4+
2779数组的最大美丽值open in new window数组 二分查找 排序 1+
2790长度递增组的最大数目open in new window贪心 数组 数学 2+
2812找出最安全路径open in new window广度优先搜索 并查集 数组 2+
2817限制条件下元素之间的最小绝对差open in new window数组 二分查找 有序集合
2819购买巧克力后的最小相对损失 🔒open in new window数组 二分查找 前缀和 1+
2824统计和小于目标的下标对数目open in new window数组 双指针 二分查找 1+
2826将三个组排序open in new window数组 二分查找 动态规划
2830销售利润最大化open in new window数组 哈希表 二分查找 2+
2831找出最长等值子数组open in new window数组 哈希表 二分查找 1+
2838英雄可以获得的最大金币数 🔒open in new window数组 双指针 二分查找 2+
2856删除数对后的最小数组长度open in new window贪心 数组 哈希表 3+
2861最大合金数open in new window数组 二分查找
2926平衡子序列的最大和open in new window树状数组 线段树 数组 2+
2936包含相等值数字块的数量 🔒open in new window数组 二分查找 交互
2940找到 Alice 和 Bob 可以相遇的建筑open in new window 树状数组 线段树 4+
2941子数组的最大 GCD-Sum 🔒open in new window数组 数学 二分查找 1+
2945找到最大非递减数组的长度open in new window 队列 数组 4+
2967使数组成为等数数组的最小代价open in new window贪心 数组 数学 2+
2968执行操作使频率分数最大open in new window数组 二分查找 前缀和 2+
2970统计移除递增子数组的数目 Iopen in new window数组 双指针 二分查找 1+
2972统计移除递增子数组的数目 IIopen in new window数组 双指针 二分查找
2981找出出现至少三次的最长特殊子字符串 Iopen in new window哈希表 字符串 二分查找 2+
2982找出出现至少三次的最长特殊子字符串 IIopen in new window哈希表 字符串 二分查找 2+
3006找出数组中的美丽下标 Iopen in new window双指针 字符串 二分查找 3+
3007价值和小于等于 K 的最大数字open in new window位运算 二分查找 动态规划
3008找出数组中的美丽下标 IIopen in new window双指针 字符串 二分查找 3+
3048标记所有下标的最早秒数 Iopen in new window数组 二分查找
3049标记所有下标的最早秒数 IIopen in new window贪心 数组 二分查找 1+
3104查找最长的自包含子串 🔒open in new window哈希表 字符串 二分查找 1+
3109查找排列的下标 🔒open in new window树状数组 线段树 数组 4+
3113边界元素是最大值的子数组数目open in new window 数组 二分查找 1+
3116单面值组合的第 K 小金额open in new window位运算 数组 数学 3+
3117划分数组得到最小的值之和open in new window位运算 线段树 队列 3+
3134找出唯一性数组的中位数open in new window数组 哈希表 二分查找 1+
3135通过添加或删除结尾字符来同化字符串 🔒open in new window字符串 二分查找 动态规划 2+
3143正方形中的最多点数open in new window数组 哈希表 字符串 2+
3145大数组元素的乘积open in new window位运算 数组 二分查找
3152特殊数组 IIopen in new window数组 二分查找 前缀和
3155可升级服务器的最大数量 🔒open in new window数组 数学 二分查找
3161物块放置查询open in new window树状数组 线段树 数组 1+
3171找到按位或最接近 K 的子数组open in new window位运算 线段树 数组 1+
3186施咒的最大总伤害open in new window数组 哈希表 双指针 4+
3209子数组按位与值为 K 的数目open in new window位运算 线段树 数组 1+
3231要删除的递增子序列的最小数量 🔒open in new window数组 二分查找
3261统计满足 K 约束的子字符串数量 IIopen in new window数组 字符串 二分查找 2+
3281范围内整数的最大得分open in new window贪心 数组 二分查找 1+
3288最长上升路径的长度open in new window数组 二分查找 排序
3291形成目标字符串需要的最少字符串数 Iopen in new window字典树 线段树 数组 6+
3292形成目标字符串需要的最少字符串数 IIopen in new window线段树 数组 字符串 5+
3296移山所需的最少秒数open in new window贪心 数组 数学 2+
3312查询排序后的最大公约数open in new window数组 哈希表 数学 5+
3323通过插入区间最小化连通组 🔒open in new window数组 二分查找 排序 1+
LCP 08剧情触发时间open in new window数组 二分查找 排序
LCP 12小张刷题计划open in new window数组 二分查找
LCP 18早餐组合open in new window数组 双指针 二分查找 1+
LCP 28采购方案open in new window数组 双指针 二分查找 1+
LCP 42玩具套圈open in new window几何 数组 哈希表 3+
LCP 52二叉搜索树染色open in new window 线段树 二叉搜索树 4+
剑指 Offer 11旋转数组的最小数字open in new window[✓]数组 二分查找
剑指 Offer 4二维数组中的查找open in new window[✓]数组 二分查找 分治 1+
剑指 Offer 44数字序列中某一位的数字open in new window[✓]数学 二分查找
剑指 Offer 51数组中的逆序对open in new window[✓]树状数组 线段树 数组 4+
剑指 Offer 53在排序数组中查找数字 Iopen in new window[✓]数组 二分查找
剑指 Offer 53-II0~n-1中缺失的数字open in new window[✓]位运算 数组 哈希表 2+
剑指 Offer 57和为s的两个数字open in new window[✓]数组 双指针 二分查找
剑指 Offer II 58日程表open in new window[✓]设计 线段树 二分查找 1+
剑指 Offer II 6排序数组中两个数字之和open in new window[✓]数组 双指针 二分查找
剑指 Offer II 68查找插入位置open in new window[✓]数组 二分查找
剑指 Offer II 69山峰数组的顶部open in new window数组 二分查找
剑指 Offer II 70排序数组中只出现一次的数字open in new window数组 二分查找
剑指 Offer II 71按权重生成随机数open in new window数组 数学 二分查找 2+
剑指 Offer II 72求平方根open in new window[✓]数学 二分查找
剑指 Offer II 73狒狒吃香蕉open in new window数组 二分查找
剑指 Offer II 8和大于等于 target 的最短子数组open in new window[✓]数组 二分查找 前缀和 1+
面试题 08.03魔术索引open in new window数组 二分查找
面试题 10.03搜索旋转数组open in new window数组 二分查找
面试题 10.05稀疏数组搜索open in new window数组 字符串 二分查找
面试题 10.09排序矩阵查找open in new window数组 二分查找 分治 1+
面试题 10.10数字流的秩open in new window设计 树状数组 二分查找 1+
面试题 16.06最小差open in new window数组 双指针 二分查找 1+
面试题 16.21交换和open in new window数组 哈希表 二分查找 1+
面试题 17.08马戏团人塔open in new window数组 二分查找 动态规划 1+