代码随想录总结篇

数组

一般是排序 以及 索引问题

  • 左右指针问题: 一般是二分法相关,或者交换首尾元素
  • 快慢指针问题: 844 退格字符串
  • 滑动窗口问题: 76 最小覆盖字串
  • 模拟过程问题: 螺旋矩阵 两种解法,一种统一四条边逻辑(但是要单独处理最后一圈,或者一条边),另一种不统一逻辑,方便直接一次循环搞定,考虑了所有特殊情况
  • 前缀和问题: 327 区间和个数

链表

翻转,重组,环问题

  • 链表的基础操作,插入,删除,交换节点
  • 虚拟头节点的引用问题: 206 翻转链表的头插法
  • 快慢指针遍历链表
  • 相交问题:一般都是通过遍历之后再从头遍历方式解决,比如相交位置a遍历完成遍历b,比如环形链表,相交之后从头遍历再次相交

哈希(map)

hash暂存结果实现时间复杂度缩小

字符串

翻转,kmp算法,最长公共序列

双指针

快慢指针,左右指针

栈队列

先入先出 后入先出

二叉树

二叉树dfs,bfs dfs计算深度高度 二叉搜索树相关问题

回溯

递归三部曲 参数返回值,终止条件,单次回溯结构

贪心

无套路 局部最优推出全局最优并且没有明显反例

动态规划

动规五部曲 dp数组下标以及含义,递推公式,初始化,返回值,print

单调栈

特定问题双指针优化

图论

图遍历, 最短路径问题

posted @ 2024-09-19 14:35  周公瑾55  阅读(237)  评论(0)    收藏  举报