LeetCode | dp | 322. Coin Change 300. Longest Increasing Subsequence 120. Triangle

文章探讨了使用动态规划和递归方法解决两个IT技术问题:计算给定数组中硬币下最长递增子序列的dp算法,以及高效求解三角形最大路径和的方法。前者从前后两端出发,后者推荐从下往上的遍历策略以避免边界问题。

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

120. Triangle

可以从上往下,但从下往上更好。可以避免两边界限地方设置MAX_INT,还可以直接return[0][0]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值