乐趣区

关于java:LeetCode应该这么刷

一杯茶,一包烟,一道力扣刷一天!

很多小伙伴刚开始刷 LeetCode 时,可能会吃力,常常刷了忘,忘了再刷,进入死循环,刷题效率很差。

其实,刷题也要考究技巧,把握了正确的刷题办法,便能事倍功半~

上面分享几点我本人的刷题教训,心愿对题主有所启发!

次要有以下 3 点技巧:

  1. 按题目分类来刷。
  2. 难度要循序渐进。
  3. 做好总结。

1. 按题目分类刷题

LeetCode 下面的题目都有进行分类,倡议在一个时间段只刷同一类型的题目,能够更全面的意识这一类型的数据结构 or 算法,以加深对此类题型的了解。就好比练功夫,后期把一些根本招式都相熟把握,前面再串通这些招式,死记硬背。

我集体也是比拟习惯依照分类来刷题,自我感觉成果还能够。

我将 LeetCode 题目进行了整顿分类,大家能够参考下:

数组操作

  • LeetCode54 螺旋矩阵
  • LeetCode75 色彩分类
  • LeetCode73 矩阵置零
  • LeetCode76 最小笼罩子串
  • LeetCode384 打乱数组
  • LeetCode581 最短无序间断子数组
  • LeetCode945 使数组惟一的最小增量

链表操作

  • LeetCode19 删除链表的倒数第 N 个节点
  • LeetCode25 k 个一组翻转链表
  • LeetCode61 旋转链表
  • LeetCode138 复制带随机指针的链表
  • LeetCode206 反转链表
  • LeetCode141 环形链表
  • LeetCode142 环形链表Ⅱ
  • LeetCode160 相交链表
  • LeetCode707 设计链表

  • LeetCode20 无效的括号
  • LeetCode32 最长无效括号
  • LeetCode155 最小栈
  • LeetCode224 根本计算器
  • LeetCode232 用栈实现队列
  • LeetCode316 去除反复字母

  • LeetCode215 数组中的第 K 个最大元素
  • LeetCode347 前 K 个高频元素

树的遍历

  • LeetCode94 二叉树的中序遍历
  • LeetCode102 二叉树的档次遍历
  • LeetCode110 均衡二叉树
  • LeetCode144 二叉树的前序遍历
  • LeetCode145 二叉树的后序遍历

二叉搜寻树相

  • LeetCode98 验证二叉搜寻树
  • LeetCode450 删除二叉搜寻树中的节点
  • LeetCode701 二叉搜寻树中的插入操作

递归

  • LeetCode21 合并两个有序链表
  • LeetCode101 对称二叉树
  • LeetCode104 二叉树的最大深度
  • LeetCode226 翻转二叉树
  • LeetCode236 二叉树的最近公共先人

双指针 / 滑动窗口

  • LeetCode3 无反复字符的最长子串
  • LeetCode11 盛最多水的容器
  • LeetCode15 三数之和
  • LeetCode16 最靠近的三数之和
  • LeetCode26 删除排序数组中的反复项
  • LeetCode42 接雨水
  • LeetCode121 交易股票的最佳时机
  • LeetCode209 长度最小的子数组

快慢指针遍历

  • LeetCode141 环形链表
  • LeetCode202 高兴数
  • LeetCode876 链表的两头结点

动静布局

  • LeetCode5 最长回文子串
  • LeetCode53 最大子序和
  • LeetCode62 不同门路
  • LeetCode64 最小门路和
  • LeetCode70 爬楼梯
  • LeetCode118 杨辉三角
  • LeetCode300 最长回升子序列
  • LeetCode1143 最长公共子序列

回溯法

  • LeetCode10 正则表达式匹配
  • LeetCode22 括号生成
  • LeetCode40 组合总和 2
  • LeetCode46 全排列

贪婪算法

  • LeetCode 11. 盛最多水的容器
  • LeetCode 406. 依据身高重建队列
  • LeetCode 55. 跳跃游戏
  • LeetCode 122. 交易股票的最佳时机 II
  • LeetCode 309. 最佳交易股票机会含冷冻期
  • LeetCode 714. 交易股票的最佳时机含手续费

并查集

  • LeetCode200 岛屿的个数
  • LeetCode547 省份数量

位运算

  • LeetCode52 N 皇后Ⅱ
  • LeetCode338 比特位计数
  • LeetCode191 位 1 的个数
  • LeetCode231 2 的幂

2. 难度要循序渐进

这一点是针对初学者来说的,切记一上来就干 hard 级别的题目,会让你狐疑人生的。。

正确的做法是循序渐进,从容易到中等,再过渡到艰难级别。不过国内大厂考查算法,个别都是中等难度,艰难级别的应该很少考查。

3. 做好总结

多做总结!多做总结!多做总结!

做好总结很重要 ,特地是对于没思路的题目,看了其余大佬的解法之后,多思考有哪些题目也是相似解法,这种题目的要害解题步骤,把本人的了解写下来,不便本人日后查看。

尽管总结可能会破费你半个钟甚至更多的工夫,然而不总结的话,下次你遇到这个题目,可能会花更多的工夫去思考、解答。

退出移动版