代码随想录一刷总结(待更新)

代码随想录一刷总结

数组篇

二分查找

最重要的是循环不变量原理

区间定义 left == right 时有没有意义,取决于开区间还是闭区间

使用场景:可以按照某一规则将数组分为左右两部分

双指针用法
  1. 双指针指向新旧数组中的元素,完成数组的变化

  2. 双向指针从两端向中间移动,如有序数组的平方

  3. 双指针维护一个滑动窗口,简化两重循环的原理是i和j都不用回退

  4. 快慢指针保持一个固定距离,一次循环找到倒数第k个元素

  5. 快慢指针速度不同,链表找环

链表篇

链表的模拟操作考验coding基本功,画图模拟,想清楚步骤123,注意先后顺序!

快慢指针两种用法见上文

哈希表篇

什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。

当哈希表长度确定时,可以用数组模拟哈希表

需要去重时可以使用HashSet

需要索引时用HashMap

字符串篇

想要通过固定规律一段一段去处理字符串的时候,要在for循环的表达式上做文章

反转字符串很重要,拆分反转的思路

栈与队列篇

互相实现

特殊应用场景

单调栈/单调队列

二叉树篇

遍历顺序的考虑,是否根节点需要接收左右子树节点的结果

具体题目具体分析

回溯篇

回溯模板

分清问题类型

贪心篇

只能记

动态规划篇

dp数组的定义是关键

一刷以模板思路解题,二刷重新思考原理

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值