My LeetCode Space using Java
Q190 二进制翻转题目,弱项需重视
Q264 用最小堆的解法,超级巧妙,要多看
MS0502软肋,又是二进制的题
Offer59 单调双端队列
Q208 基本是抄的,树形结构值得反复回顾
39,40,216和377都是"组合总和"的问题,类似的很多题,大致分为两类:
- 求XXX的最优解: 这种问题用动态规划的问题,新建一个new int[n+1],将每一个步骤的结果都记录在数组中,带着前一步计算的结果去推最优解。 如果不记录的话,其他方法,尤其是递归,很有可能就超时了。
- 求若干的可能性: 这种问题就是答案说叫"回溯+剪枝",其实就是带着一个temp走,递归,每一步离target更近一点。如果刚好等于target,那么就插入结果中。 递归结束,结果res中就是所有的可能。