记得我初中的时候,学校发的一个小册子的名字就是母题啥的。
大概意思是市面上的题(尤其是中考题)都是这些母题生的,都是它们的儿子。
熟悉我的朋友应该知道,我有一个风格:”喜欢用通俗易懂的语言以及图片,还原解题过程“。包括我是如何抽象的,如何与其他题目建立联系的等。比如:
- 一招吃遍力扣四道题,妈妈再也不用担心我被套路啦~
- 超级详细记忆化递归,图解,带你一次攻克三道 Hard 套路题(44. 通配符匹配)
- 穿上衣服我就不认识你了?来聊聊最长上升子序列
- 扒一扒这种题的外套(343. 整数拆分)
如果把这个思考过程称之为自顶向下的话,那么实际上能写出来取决于你:
- 是否有良好的抽象能力
- 是否有足够的基础知识
- 是否能与学过的基础知识建立联系
如果反着呢? 我先把所有抽象之后的纯粹的东西掌握,也就是母题。那么遇到新的题,我就往上套呗?这就是我在《LeetCode 题解仓库》中所说的只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。 这种思路就是自底向上。(有点像动态规划?) 市面上的题那么多,但是题目类型就是那几种。甚至出题人出题的时候都是根据以前的题目变个条件,变个说法从而搞出一个“新”的题。
这个专题的目标就是从反的方向来,我们先学习和记忆底层的被抽象过的经典的题目。遇到新的题目,就往这些母题上套即可。
那让我们来自底向上看下第一期的这八道母题吧~