首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典:组合总和 Ⅳ

#yyds干货盘点# LeetCode程序员面试金典:组合总和 Ⅳ

时间:2023-12-17 22:04:13浏览次数:31  
标签:yyds target 组合 nums int 金典 示例 LeetCode dp

题目

给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。


题目数据保证答案符合 32 位整数范围。


 


示例 1:


输入:nums = [1,2,3], target = 4

输出:7

解释:

所有可能的组合为:

(1, 1, 1, 1)

(1, 1, 2)

(1, 2, 1)

(1, 3)

(2, 1, 1)

(2, 2)

(3, 1)

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

示例 2:


输入:nums = [9], target = 3

输出:0

代码实现

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


标签:yyds,target,组合,nums,int,金典,示例,LeetCode,dp
From: https://blog.51cto.com/u_13321676/8863466

相关文章

  • #yyds干货盘点#Java面试题
    1、什么是Nginx?Nginx是一个web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性。Nginx服务器的特性包括:反向代理/L7负载均衡器嵌入式Perl解释器动态二进制升级可用于重新编写URL,具有非常好的PCRE支持3、请解释N......
  • #yyds干货盘点# LeetCode程序员面试金典:最长特殊序列 II
    题目给定字符串列表strs,返回其中最长的特殊序列的长度。如果最长特殊序列不存在,返回-1。特殊序列定义如下:该序列为某字符串独有的子序列(即不能是其他字符串的子序列)。s的子序列可以通过删去字符串s中的某些字符实现。例如,"abc"是"aebdc"的子序列,因为您可以删除......
  • #yyds干货盘点#MongoDB 封装 CRUD 方法
    CRUD是指创建(Create)、读取(Read)、更新(Update)和删除(Delete)四种基本的数据处理操作。在软件开发中,CRUD方法通常用于对数据库或其他存储系统中的数据进行操作。具体来说,CRUD方法包括以下四种操作:创建(Create) :向数据库或其他存储系统中插入新数据。读取(Read) :从数据库或其他......
  • [LeetCode] LeetCode373. 查找和最小的K对数字
    题目描述思路:大顶堆+翻转注意:该题有问题,代码可以通过测试用例。方法一:classSolution{publicList<List<Integer>>kSmallestPairs(int[]nums1,int[]nums2,intk){PriorityQueue<Node>heap=newPriorityQueue<>((e1,e2)->e2.sum-e1.sum);......
  • [LeetCode138-链表-中等] 复制带有随机指针的链表
    这道题是这样的,就是说有一个链表LindedNode,通常我们链表包含2个属性,一个是它的值val,另一个是它指向的下一个结点nextNode,但是这个题目中的链表还有一个属性,就是它还有个随机指针,这个随机指针可能指向链表中的任意结点(包括链表的结尾null结点,或者是自己)也就是说这个链表Lin......
  • [LeetCode] LeetCode378. 有序矩阵中第K小的元素
    题目描述思路:Top-K问题+大顶堆使用大顶堆求第K小的元素。方法一:classSolution{publicintkthSmallest(int[][]matrix,intk){//1.使用大顶堆PriorityQueue<Integer>heap=newPriorityQueue<>((e1,e2)->e2-e1);for(inti......
  • [LeetCode] LeetCode692. 前K个高频单词
    题目描述思路注意是前K个高频单词,就是TopK问题,只能用小根堆找最大的K个元素啊,用大根堆找的就是最小的K个元素了思路一:classSolution{publicList<String>topKFrequent(String[]words,intk){Map<String,Integer>map=newHashMap<>();//小......
  • [LeetCode] LeetCode451. 根据字符出现频率排序
    题目描述思路:使用大顶堆方法一:classSolution{publicStringfrequencySort(Strings){//1.HashMap统计词频Map<Character,Integer>map=newHashMap<>();for(charc:s.toCharArray()){map.put(c,map.getOrDefault(......
  • #yyds干货盘点#一文了解Redis常用命令
    本文包括Redis中常用的一些命令,包括针对所有的键相关的命令,以及5种常用数据类型:字符串、哈希、列表、集合以及有序集合的一些命令。鉴于个人水平有限,文章中若有不对之处,烦请大家留言指正。键相关查看所有的键keys会遍历所有的键,它的时间复杂度是O(n),因此当Redis保存了大量的键时,这......
  • [LeetCode] 2482. Difference Between Ones and Zeros in Row and Column
    Youaregivena0-indexedmxnbinarymatrixgrid.A0-indexedmxndifferencematrixdiffiscreatedwiththefollowingprocedure:LetthenumberofonesintheithrowbeonesRowi.LetthenumberofonesinthejthcolumnbeonesColj.Letthenumbero......