DAY46
完全背包
在闫氏DP法里学过:第i个物品选k个,纸质直至不能选,k从0开始取。就有递推式了。
代码随想录的视频也看了。
518零钱兑换ii
注意与 目标和 那题区分开。
完全背包问题,正向遍历背包容量,就能实现“多次取”
- class Solution {
- public:
- int change(int amount, vector<int>& coins) {
- vector<int> dp(amount+1);
- 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];
- }
- };
377组合总和iv
- class Solution {
- public:
- int combinationSum4(vector<int>& nums, int target) {
- vector<int> dp(target+1);
- dp[0]=1;
- for(int i=0;i<=target;i++){
- for(int j=0;j<nums.size();j++){
- if(i>=nums[j]&&dp[i]<INT_MAX-dp[i-nums[j]])
- dp[i]+=dp[i-nums[j]];
- }
- }
- return dp[target];
- }
- };
晚些时候发新专栏,学习图神经网络。