不要怪笔者写的简陋,真的没有太多时间和精力来整理了。 要使用贪心算法就要证明,贪心策略可以得到全局最优解,因此它并没有动态规划应用那么广泛,但是一旦证明贪心策略的重要性往往可以用O(n)的复杂度解决问题。 一、分配问题 455. 分发饼干 贪心策略:我们先对饼干和孩子排序,拿最小的饼干去满足胃口最小 Read More
这类题是真的多,这里总结几个大类,还有一些小类只能靠多刷题积累经验了,做过了可能就会,没遇到过可能就真的是想不出来。 动态规划的题一般来说问得是什么设什么dp[i]就好,如果从问题中看不出来设什么那就需要将问题进行转换了,这种题一般也比较难想。 真的是太多了,少贴几个,整理有点头皮发麻。 一、斐波那 Read More
这类的题真的不多,放两个典型的感受一下。 241. 为运算表达式设计优先级 class Solution { public List<Integer> diffWaysToCompute(String input) { List<Integer> list = new LinkedList<>(); Read More
概念看不懂是正常的,看懂了才不正常。有个小建议:先看一下概念,看完之后肯定感觉似懂非懂,没关系去做题实践出真知,每个类型做个8、9题,在回过头来看概念会发现概念说的好像真是那么回事儿,接着再去做题反复练习就明白了。 一、基本概念 最优子结构:原问题的解包含子问题的解。(子问题即规模更小的问题) 例如 Read More