Skip to content

leetcode 题型

leetcode 上的题目有很多是题型类似的,形变而神不变。

数组

双指针

滑动窗口

二分

队列 -> bfs

js
const queue = []
while (queue.length) {
    const len = queue.length
    for (let i = 0; i < len; ++i) {
        // ...
    }
}

js

function sink(arr, start, end) {

}

字符串

哈希

原地哈希

链表

dfs/bfs

dfs 使用递归,构造 dfs 递归函数

bfs 使用队列,使用队列进行迭代搜索

矩阵

并查集

拓扑排序

统计入度: 计算图中所有节点的入度。 初始化队列: 将所有入度为 0 的节点放入队列。 循环处理:从队列中弹出一个节点 u,将其加入结果序列。遍历 u 的所有邻居节点 v。将 v 的入度减 1(模拟删除边 (u,v))。如果 v 的入度变为 0,则将 v 放入队列。 结果判断: 如果最终结果序列中的节点数等于图中的总节点数,则排序成功;否则,说明图中存在环。

排列组合

DP

子数组

前缀和、划分型 DP