代码随想录算法训练营第四十六天| 518、377


518. 零钱兑换 II  

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:1h

思路:

图1 递归思路

最重要的是完全背包的遍历顺序,组合和排序的遍历顺序需要注意:如果求组合数就是外层for循环遍历物品,内层for遍历背包。

如果求排列数就是外层for遍历背包,内层for循环遍历物品。

代码:

图2



 377. 组合总和 Ⅳ  

文档和视频讲解:代码随想录(programmercarl.com)

状态:ac

用时:1h

思路:

图3 递归思路

该题计算排列个数,还是要注意遍历顺序:如果求组合数就是外层for循环遍历物品,内层for遍历背包。如果求排列数就是外层for遍历背包,内层for循环遍历物品。

代码:

图4

注:该题给的C++测试用例有两个数相加超过int的数据,所以需要在if里加上dp[i] < INT_MAX - dp[i - num]。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容