欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 【代码随想录算法训练营第37期 第四十三天 | LeetCode518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯】

【代码随想录算法训练营第37期 第四十三天 | LeetCode518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯】

2024/10/24 11:12:42 来源:https://blog.csdn.net/cattte/article/details/140217153  浏览:    关键词:【代码随想录算法训练营第37期 第四十三天 | LeetCode518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯】

代码随想录算法训练营第37期 第四十三天 | LeetCode518. 零钱兑换 II、377. 组合总和 Ⅳ、70. 爬楼梯


一、518. 零钱兑换 II

解题代码C++:

class Solution {
public:int change(int amount, vector<int>& coins) {vector<int> dp(amount + 1, 0);dp[0] = 1;for (int i = 0; i < coins.size(); i++) { // 遍历物品for (int j = coins[i]; j <= amount; j++) { // 遍历背包dp[j] += dp[j - coins[i]];}}return dp[amount];}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0518.%E9%9B%B6%E9%92%B1%E5%85%91%E6%8D%A2II.html



二、377. 组合总和 Ⅳ

解题代码C++:

class Solution {
public:int combinationSum4(vector<int>& nums, int target) {vector<int> dp(target + 1, 0);dp[0] = 1;for (int i = 0; i <= target; i++) { // 遍历背包for (int j = 0; j < nums.size(); j++) { // 遍历物品if (i - nums[j] >= 0 && dp[i] < INT_MAX - dp[i - nums[j]]) {dp[i] += dp[i - nums[j]];}}}return dp[target];}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0377.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C%E2%85%A3.html



三、70. 爬楼梯

解题代码C++:

#include <iostream>
#include <vector>
using namespace std;
int main() {int n, m;while (cin >> n >> m) {vector<int> dp(n + 1, 0);dp[0] = 1;for (int i = 1; i <= n; i++) { // 遍历背包for (int j = 1; j <= m; j++) { // 遍历物品if (i - j >= 0) dp[i] += dp[i - j];}}cout << dp[n] << endl;}
}

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0070.%E7%88%AC%E6%A5%BC%E6%A2%AF%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E7%89%88%E6%9C%AC.html

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com