Leetcode 377 组合总和 Ⅳ
题意理解:
给你一个由 不同 整数组成的数组
nums
,和一个目标整数target
。请你从nums
中找出并返回总和为target
的元素组合的个数。题目数据保证答案符合 32 位整数范围。
这道题目和凑零钱是一样的,需要求使用指定元素(纸币),凑出target(指定金额)有多少种方式。
此处,元素是可以重复使用的,所以该问题是一个完全背包问题。
解题思路:
首先了解此题目是一个完全背包问题,所以遍历背包时正序,可以保证元素无限次使用。
其次,确定题目求得是有多少种方式,而不是重量或最大价值,该题目不是一个纯背包问题。
由于我们要求组成target得不同方式,1+2 和2+1 被看作是两种方式,所以这里求的是排列数,对于顺序有要求。
根据之前的总结:
求组合数:先物体后背包
求排列数,先背包后物体
所以我们选择第二种
1.动态规划解题
public int combinationSum4(int[] nums, int target) {if(nums.length<=0) return 0;int[] dp=new int[target+1];Arrays.fill(dp,0);dp[0]=1;for(int j=1;j<=target;j++){for(int i=0;i<nums.length;i++){if(nums[i]<=j){dp[j]+=dp[j-nums[i]];}}}return dp[target];}
2.分析
时间复杂度:O(n^2)
空间复杂度:O(n)
相关文章:
Leetcode 377 组合总和 Ⅳ
题意理解: 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 这道题目和凑零钱是一样的,需要求使用指定元素(纸币…...

CleanMyMacX4.14.6如何清理mac垃圾内存
一直以来,苹果电脑的运行流畅度都很好,但是垃圾内存多了磁盘空间慢慢变少,还是会造成卡顿的。这篇文章就告诉大家电脑如何清理垃圾内存,电脑如何清理磁盘空间。 一、电脑如何清理垃圾内存 垃圾内存指的是各种缓存文件和系统垃圾…...

Java 学习和实践笔记(1)
2024年,决定好好学习计算机语言Java. B站上选了这个课程:【整整300集】浙大大佬160小时讲完的Java教程(学习路线Java笔记)零基础,就从今天开始学吧。 在这些语言中,C语言是最基础的语言,绝大多…...

【自然语言处理-工具篇】spaCy<1>--介绍及安装指南
目录 前言 安装指南 pip conda spaCy升级 总结 前言 spaCy是一个开源的自然语言处理库,用于处理和分析文本数据。它提供了许多功能,包括分词、词性标注...
LeetCode树总结
144. 二叉树的前序遍历 递归写法很简单,不再赘述。迭代写法需要用到一个栈,因为是根->左子树->右子树的顺序进行遍历,所以弹出当前结点后要先入栈右儿子,再入栈左儿子。 /*** Definition for a binary tree n…...

AI专题:冬渐去、春将来,待看,AI 开花,数据挂果,可控链潮起
今天分享的是AI 系列深度研究报告:《AI专题:冬渐去、春将来,待看,AI 开花,数据挂果,可控链潮起》。 (报告出品方:AVIC) 报告共计:36页 行业概览:2023年呈稳…...

Netty源码系列 之 EventLoop run()方法 源码
EventLoop[实现类为NioEventLoop,我们研究NioEventLoop即可] EventLoop是一个单线程的线程池 核心作用:处理执行IO操作(accept,read,write事件),普通任务,定时任务 EventLoop封装…...

ChatGPT 4.0 升级指南, ChatGPT Plus(GPT 4.0) 有何优势?
1.ChatGPT 是什么? ChatGPT 是由 OpenAI 开发的一种基于人工智能的聊天机器人,它基于强大的语言处理模型 GPT(Generative Pre-trained Transformer)构建。它能够理解人类语言,可以为我们解决实际的问题。 ChatGPT 4.…...

springboot157基于springboot的线上辅导班系统的开发与设计
简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…...

【机器学习】机器学习简单入门
🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:matplotlib 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…...

考研数据结构笔记(1)
数据结构(1) 数据结构在学什么?数据结构的基本概念基本概念三要素逻辑结构集合线性结构树形结构图结构 物理结构(存储结构)顺序存储链式存储索引存储散列存储重点 数据的运算 算法的基本概念什么是算法算法的五个特性有…...

【深度学习理论】持续更新
文章目录 1.统计学习理论 1.统计学习理论 统计学习理论,一款适合零成本搞深度学习的大冤种的方向 从人类学习到机器学习的对比(学习的过程分为归纳和演绎 ),引出泛化和过拟合的概念。 如何表示归纳的函数规律呢?以监督…...

npm ERR! reason: certificate has expired(淘宝镜像过期)
npm ERR! request to https://registry.npm.taobao.org/yauzl/-/yauzl-2.4.1.tgz failed, reason: certificate has expired 今天在执行npm install命令时,报错百度了下是淘宝证书过期原因 解决方法一 执行下面两个命令再进行npm install即可 npm cache clean --…...

“极简壁纸“爬虫JS逆向·实战
文章目录 声明目标分析确定目标目标检索 代码补全完整代码 爬虫逻辑完整代码 运行结果 声明 本教程只用于交流学习,不可用于商业用途,不可对目标网站进行破坏性请求,请遵守相关法律法规。 目标分析 确定目标 获取图片下载链接 目标检索…...

Django通过Json配置文件分配多个定时任务
def load_config():with open("rule.json", rb)as f:config json.load(f)return configdef job(task_name, config, time_interval):# ... 通过task_name判断进行操作if task_name get_data_times:passdef main():config load_config()for task_name, task_value…...

C++ 搜索二叉树的删除
首先查找元素是否在二叉搜索树中,如果不存在,则返回 要删除的结点可能分下面四种情况: a. 要删除的结点无孩子结点 b. 要删除的结点只有左孩子结点 c. 要删除的结点只有右孩子结点 d. 要删除的结点有左、右孩子结点 看起来有待删除节点有4中…...

构建中国人自己的私人GPT—支持中文
上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。 privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再…...
elementui 回到顶部报错
<template>Scroll down to see the bottom-right button.<el-backtop target".page-component__scroll .el-scrollbar__wrap"></el-backtop> </template> 使用element的Backtop 回到顶部组件的伙伴们,把官网代码复制到页面使用时…...
go-carbon v2.3.8 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装使用 Golang 版本大于…...

【详解】斗地主随机发牌项目
目录 前言: 1.初始化牌 2.洗牌 3.揭牌 总代码: Card类: CardGame类: Main类: 结语: 前言: 斗地主是全国范围内的一种桌面游戏,本节我们来实现一下斗地主中的简单初始化牌、…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...