編碼與禪
自由軟件創作者
文字
单调栈
算法单调栈单调栈通过维护温度值的单调性,将寻找“下一个更高温度”的时间复杂度从 O(n²) 优化至 O(n),其核心在于避免了重复比较并确保每个元素只入栈出栈一次。
相向双指针(二)
算法双指针本文系统讲解了相向双指针算法的基本原理和实际应用。相向双指针通过在数组或字符串的两端设置指针,让它们向中间移动来解决问题,这种模式特别适合处理对称性、反转和双向遍历的场景。
相向双指针(一)
算法双指针本文系统讲解了相向双指针算法的基本原理和实际应用。相向双指针通过在数组或字符串的两端设置指针,让它们向中间移动来解决问题,这种模式特别适合处理对称性、反转和双向遍历的场景。
完全掌握不定長滑動窗口
算法滑動窗口本文通過多個LeetCode題目實例,系統講解了不定長滑動窗口算法的應用。文章詳細展示了如何在不同場景下使用滑動窗口的兩步走套路:右指針擴展窗口並更新狀態,當條件不滿足時移動左指針收縮窗口。涵蓋了最大無重複子數組、最長無重複字符子串、刪除元素後全1子數組、最小長度子數組和乘積小於K子數組等多種情況,並提供了Python和Scheme兩種語言的代碼實現,展示了狀態記錄和指針一步到位等優化技巧。
完全掌握定長滑動窗口
算法滑動窗口本文通过多个LeetCode题目实例,系统讲解了滑动窗口算法的应用。文章详细展示了如何在不同场景下使用滑动窗口的三步走套路:右指针进窗口、更新答案、左指针出窗口。涵盖了定长窗口、变长思想、循环数组处理等多种情况,并提供了完整的Scheme代码实现。