首页 > 其他分享 >day44 377. 组合总和 Ⅳ |

day44 377. 组合总和 Ⅳ |

时间:2023-04-13 22:56:08浏览次数:47  
标签:target 组合 nums int coins 377 day44 dp 总和

给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。

示例:

  • nums = [1, 2, 3]
  • target = 4

所有可能的组合为: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1)

请注意,顺序不同的序列被视作不同的组合。

 

class Solution {
    public int combinationSum4(int[] nums, int target) {
        int[] dp = new int[target + 1];
        dp[0] = 1;
        for (int i = 0; i <= target; i++) {
            for (int j = 0; j < nums.length; j++) {
                if (i >= nums[j]) {
                    dp[i] += dp[i - nums[j]];
                }
            }
        }
        return dp[target];
    }
}

 

给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。

示例 1:

  • 输入: amount = 5, coins = [1, 2, 5]
  • 输出: 4

解释: 有四种方式可以凑成总金额:

  • 5=5
  • 5=2+2+1
  • 5=2+1+1+1
  • 5=1+1+1+1+1

  •  

     

    class Solution {
        public int change(int amount, int[] coins) {
            int[] dp = new int[amount + 1];
            //初始化dp数组,表示金额为0时只有一种情况,也就是什么都不装
            dp[0] = 1;
            for (int i = 0; i < coins.length; i++) {
                for (int j = coins[i]; j <= amount; j++) {
                    dp[j] += dp[j - coins[i]];
                }
            }
            return dp[amount];
        }
    }
    

      

 

标签:target,组合,nums,int,coins,377,day44,dp,总和
From: https://www.cnblogs.com/libertylhy/p/17316868.html

相关文章

  • leetcode:路径总和 III
    问题描述给定一个二叉树的根节点root ,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。示例1输入:root=[10,5,-3,3,2,null,11,3,-2,null,1],ta......
  • 113. 路径总和ii
    给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和sum=22classSolution{private:voiddfs_find(TreeNode*cur,intsum,inttargetSum,vector<int>&path,v......
  • 3377. 约数的个数(约数个数)
    https://www.acwing.com/problem/content/3380/这题和第11届蓝桥杯B组国赛题类似数论知识,就是分解质因数,把质数的指数加1即可需要注意的是,本题应该是不能用数组模拟的,空间太少了可以用unordered_map存储#include<iostream>#include<cstdio>#include<cstring>#include......
  • 39. 组合总和 40.组合总和II 131.分割回文串
    39.组合总和自己写的回溯算法:classSolution{List<List<Integer>>list;LinkedList<Integer>res;publicList<List<Integer>>combinationSum(int[]candidates,inttarget){list=newArrayList<>();res=......
  • 216.组合总和III 17.电话号码的字母组合
    216.组合总和III回溯的常规思路做这道题:classSolution{List<List<Integer>>list=newArrayList<>();LinkedList<Integer>res=newLinkedList<>();publicList<List<Integer>>combinationSum3(intk,intn){f......
  • 洛谷 P3377 【模板】左偏树(可并堆)题解 左偏树模板题
    题目链接:https://www.luogu.com.cn/problem/P3377维护左偏树的同时还需要维护一个并查集。但是并查集也就一个find操作。pop的时候更新f[x]的操作很神奇。示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+5;intn,m,op,x,y,val[m......
  • KB5023774 补丁
    2023-适用于Windows11的03累积更新,适合基于x64的系统(KB5023774)2023-适用于Windows11的03累积更新,适合基于x64的系统(KB5023774)此更新解决了影响命令行的问题。当您将系统区域设置为日语并且cmd.exe配置为传统模式时,它会失败。此更新解决了影响设置中记......
  • 二维数组根据相同的两个值计算某一个值的总和
    将二维数组中相同time和id值的num累计<?php$res=[0=>['time'=>'2021-06-02','id'=>'122','num'=>1],......
  • day27 打卡39. 组合总和 40.组合总和II 131.分割回文串
    day27打卡39.组合总和40.组合总和II131.分割回文串39.组合总和39题目链接classSolution{List<List<Integer>>result=newArrayList<>();LinkedList......
  • 代码随想录 day27 39. 组合总和 | 40.组合总和II | 131.分割回文串
    39. 组合总和给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的所有 不同组合 ,并以列......