322.
从前往后,dp[i]是截止到i最多需要几个硬币。for套for。dp[i] = min(dp[i], dp[i - coins[0]] + 1, dp[i - coins[1] + 1...)
300. Longest Increasing Subsequence
从后往前,找的是从i开始有几个sequence。i的sequence数量是max(1,1+dp[i+1], 1+dp[i+2]...)。for套for
可以从上往下,但从下往上更好。可以避免两边界限地方设置MAX_INT,还可以直接return[0][0]
文章探讨了使用动态规划和递归方法解决两个IT技术问题:计算给定数组中硬币下最长递增子序列的dp算法,以及高效求解三角形最大路径和的方法。前者从前后两端出发,后者推荐从下往上的遍历策略以避免边界问题。
207

被折叠的 条评论
为什么被折叠?



