。

LeetCode刷了200题后,我总结的解题模板
刷到200题的时候我发现,题目是刷不完的,但套路是有限的。
双指针:有序数组找两数之和、链表找环、盛最多水的容器。核心就一句:根据条件移动左指针还是右指针。
滑动窗口:最长无重复子串、最小覆盖子串。模板是右指针扩张,满足条件后左指针收缩,过程中更新答案。
二分查找:不只是有序数组找目标,还有"找左边界""找右边界""旋转数组找最小值"。写的时候死记一点:while用left <= right还是left < right,取决于区间定义。
动态规划:先想状态定义,再想转移方程,最后想初始化。01背包、完全背包、最长递增子序列,这三类覆盖大半题。
回溯:排列、组合、子集、电话号码。模板是选一个、递归、撤销选择,注意剪枝。
BFS/DFS:二叉树层序遍历、岛屿数量、最短路径。BFS找最短,DFS找连通性。
我的建议是每个模板手写三遍,直到不看题解能默出来。200题之后我最大的收获不是会做多少题,是看到新题能快速归类到某个模板。

posted @ 2026-10-11 01:02  一水尘风  阅读(4)  评论(0)    收藏  举报