代码随想录 day44 完全背包

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];

}

};

另外你这个是不能从大到小遍历的 因为这样的话 你就落下了重复选取的情况

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];

}

};

第二题还是要小心啊 虽然看起来是排列 实际上是组合!!!

相关推荐
麦麦大数据19 分钟前
F049 知识图谱双算法推荐在线学习系统vue+flask+neo4j之BS架构开题论文全源码
学习·算法·知识图谱·推荐算法·开题报告·学习系统·计算机毕业设计展示
兩尛1 小时前
215. 数组中的第K个最大元素
数据结构·算法·排序算法
952361 小时前
数据结构-堆
java·数据结构·学习·算法
吃着火锅x唱着歌1 小时前
LeetCode 面试题 16.24.数对和
算法·leetcode·职场和发展
不会编程的小寒1 小时前
数据结构 2.0
数据结构·算法
专注VB编程开发20年1 小时前
图片转矢量图(提取轮廓线条)Potrace:一个基于多边形的位图轮廓矢量化算法(translation)
算法·图片转矢量
Dream it possible!2 小时前
LeetCode 面试经典 150_二叉树层次遍历_二叉树的层平均值(82_637_C++_简单)
c++·leetcode·面试·二叉树
小羊失眠啦.2 小时前
Rust核心库(core)深度解析:无依赖基石的设计与实践
数据库·算法·rust
Wenhao.2 小时前
LeetCode Hot100 每日温度
数据结构·算法·leetcode·golang
吃着火锅x唱着歌2 小时前
LeetCode 1679.K和数对的最大数目
算法·leetcode·职场和发展