Superpowers 部署和常用指令笔记 发表于 2026-04-30 更新于 2026-05-01 分类于 AI工具 本文字数: 3.7k 阅读时长 ≈ 7 分钟 Superpowers 是什么Superpowers 是一个给 AI 编程助手使用的插件。它的核心作用不是提供某个单独命令,而是给助手加上一组更稳定的工作流,例如需求澄清、方案设计、测试驱动开发、系统化调试、代码审查和完成前验证。 平时直接让 AI 改代码,容易出现几个问题:还没弄清需求就开始写、遇到 bug 直接猜、测试没跑就说完成、复杂任务没有拆分。Su... 阅读全文 »
单调队列基本用法 发表于 2024-12-13 更新于 2024-12-20 分类于 数组 本文字数: 1k 阅读时长 ≈ 2 分钟 寻找各个子窗口的最大值假如说,我们的目的是找到每一个子窗口的最大值。最简单的方法,是依次枚举所有的子窗口,分别求出各个窗口的最大值。显然,这样的时间复杂度是O(n^2)的。其实,我们可以创建一个双端队列deque,用于维护每个窗口的可能最大值。 这个队列满足一个条件,即小压大,换句话说,这个队列从队尾到队头,是严格单调递增的。 向右扩展窗口,即压入元素时,如... 阅读全文 »
单调栈基础用法 发表于 2024-12-09 本文字数: 2.3k 阅读时长 ≈ 4 分钟 适用场景在一个一维数组中,对每个元素,寻找他的下一个或前一个最近的最大值或最小值的坐标或值。 若不考虑单调栈,采用暴力方法,对每个元素,分别向左向右遍历,找到第一个满足条件的元素就break,即可求解。暴力的方法的时间复杂度是O(n^2)。 单调栈维护一个单调递增或递减的栈,以寻找下一个最小值的坐标为例,即在栈里维护大压小的顺序。一般来说,使用单调栈右三个阶... 阅读全文 »
一维差分总结 发表于 2024-11-29 分类于 数组 本文字数: 2.2k 阅读时长 ≈ 4 分钟 适用情景如果要对数组的多个区间内的元素进行增减操作,可以考虑使用差分数组进行批量化操作。 思路一般思路差分数组实质上是前缀和数组的逆过程。 如果要对区间[l, r]内的元素加val,先求差分数组diff,diff数组大小为n+2, 可以避免讨论边界条件,其中diff数组内元素为原数组前后两个元素的差。接下来依次按如下过程操作: diff[l+1] +... 阅读全文 »
求第一个入环的点 发表于 2024-11-27 分类于 链表 本文字数: 1.6k 阅读时长 ≈ 3 分钟 基本思路 开始时快指针走两步,慢指针走一步 如果相遇,则找到第一个相遇的点 快指针回到头结点,慢指针原地不动 快慢指针各走一步,这时再相遇的点就是入环节点 链表类型例题LCR 022. 环形链表 II 给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 ... 阅读全文 »