代码随想录 day44 完全背包

class Solution {

public:

int change(int amount, vector<int>& coins) {

vector <int> dp(amount+1,0);

dp0=1;

for(int i=0;i<coins.size();i++){

for(int j=coinsi;j<=amount;j++){

dpj+=dpj-coins\[i];

}

}

return dpamount;

}

};

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

class Solution {

public:

int combinationSum4(vector<int>& nums, int target) {

vector<int>dp(target+1,0);

dp0=1;

for(int i=0;i<=target;i++){

for(int j=0;j<nums.size();j++){

if(i-numsj>=0&& dpi < INT_MAX - dpi - nums\[j])

dpi+=dpi-nums\[j];

}

}

return dptarget;

}

};

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

相关推荐
Tisfy8 小时前
LeetCode 3090.每个字符最多出现两次的最长子字符串:二重循环 / 滑动窗口
算法·leetcode·字符串·题解·模拟·双指针·滑动窗口
-dzk-8 小时前
【技巧】LC 136.只出现一次的数字
算法·异或
专注仿真9 小时前
问答大模型技术方案算法实现-RAPTOR树构建算法与BEG集成使用
python·算法
zlinear数据采集卡10 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
GeekZHR11 小时前
C语言指针进阶补充6:动态内存管理、mem系列内存函数、复杂指针声明,一次补齐指针的“三大盲区“
java·c语言·算法·指针
Herbert_hwt11 小时前
第七章 Java深入理解枚举类型
java·开发语言·算法
.道阻且长.11 小时前
8.LeetCode算法习题讲解--滑动窗口--长度最小的子数组
算法·leetcode·职场和发展
(❁´◡`❁)Jimmy(❁´◡`❁)11 小时前
P1156 [USACO01OPEN] 垃圾陷阱
算法·动态规划
疯狂打码的少年12 小时前
【数据结构】二叉排序树(BST)的定义与操作
数据结构·笔记·算法
lally.12 小时前
整数等差数列超图中的三个非微扰现象
算法