type
status
date
slug
summary
tags
category
titleIcon
password
icon
calloutIcon
约定:√-确认复杂度正确 无标注-答案正确,不保证复杂度正确 WA-错误答案代码 TE-暴力超时
滑动窗口与双指针(定长/不定长/至多/至少/恰好/单序列/双序列/三指针)
一、定长滑动窗口
定长滑窗套路:入-更新-出。
- 入:下标为的元素进入窗口,更新相关统计量。如果 则重复第一步。
- 更新:更新答案。一般是更新最大值/最小值。
- 出:下标为 的元素离开窗口,更新相关统计量。
以上三步适用于所有定长滑窗题目。
§1.1 基础
1456. 定长子串中元音的最大数目
643. 子数组最大平均数 I
1343. 大小为 K 且平均值大于等于阈值的子数组数目
2090. 半径为 k 的子数组平均值
2379. 得到 K 个黑块的最少涂色次数
1052. 爱生气的书店老板
1461. 检查一个字符串是否包含所有长度为 K 的二进制子串
2841. 几乎唯一子数组的最大和
2461. 长度为 K 子数组中的最大和
1423. 可获得的最大点数
1652. 拆炸弹
1297. 子串的最大出现次数
二分算法(二分答案/最小化最大值/最大化最小值/第K小)
二分查找-开区间写法,结果r为第一个>=的下标
34. 在排序数组中查找元素的第一个和最后一个位置
35. 搜索插入位置
704. 二分查找
744. 寻找比目标字母大的最小字母
2529. 正整数和负整数的最大计数
1385. 两个数组间的距离值
2300. 咒语和药水的成功对数
单调栈(矩形面积/贡献法/最小字典序)
739. 每日温度
1475. 商品折扣后的最终价格
496. 下一个更大元素 I
503. 下一个更大元素 II
1019. 链表中的下一个更大节点
962. 最大宽度坡
853. 车队
图论算法
DFS
547. 省份数量
1971. 寻找图中是否存在路径
797. 所有可能的路径
841. 钥匙和房间
2316. 统计无向图中无法互相到达点对数
3108. 带权图里旅途的最小代价
BFS
3243. 新增道路查询后的最短距离 I
1311. 获取你好友已观看的视频
1129. 颜色交替的最短路径
拓扑排序
1462. 课程表 IV
2115. 从给定原材料中找到所有可以做出的菜
最短路
743. 网络延迟时间
最小生成树
1584. 连接所有点的最小费用
常用数据结构(前缀和/差分/栈/队列/堆/字典树/并查集/树状数组/线段树)
零、常用枚举技巧-§0.1 枚举右,维护左
对于双变量问题,例如两数之和,可以枚举右边的,转换成单变量问题,也就是在左边查找是否有,这可以用哈希表维护。
1. 两数之和
1512. 好数对的数目
219. 存在重复元素 II
121. 买卖股票的最佳时机
2815. 数组中的最大数对和
2342. 数位和相等数对的最大和
1679. K 和数对的最大数目
2260. 必须拿起的最小连续卡牌数
1010. 总持续时间可被 60 整除的歌曲
3185. 构成整天的下标对数目 II
2748. 美丽下标对的数目
2874. 有序三元组中的最大值 II
454. 四数相加 II
1014. 最佳观光组合
1814. 统计一个数组中好对子的数目
2905. 找出满足差值条件的下标 II
1031. 两个非重叠子数组的最大和
回溯
46. 全排列
51. N 皇后
52. N 皇后 II
357. 统计各位数字都不同的数字个数
2850. 将石头分散到网格图的最少移动次数
其他
TODO
- 作者:CamelliaV
- 链接:https://camelliav.netlify.app/article/0x3f
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。