2915. 和为目标值的最长子序列的长度
给你一个下标从 0 开始的整数数组
nums和一个整数target。返回和为
target的nums子序列中,子序列 长度的最大值 。如果不存在和为target的子序列,返回-1。
子序列 指的是从原数组中删除一些或者不删除任何元素后,剩余元素保持原来的顺序构成的数组。
示例 1:
输入:nums = [1,2,3,4,5], target = 9 输出:3 解释:总共有 3 个子序列的和为 9 :[4,5] ,[1,3,5] 和 [2,3,4] 。最长的子序列是 [1,3,5] 和 [2,3,4] 。所以答案为 3 。
示例 2:
输入:nums = [4,1,3,2,1,5], target = 7 输出:4 解释:总共有 5 个子序列的和为 7 :[4,3] ,[4,1,2] ,[4,2,1] ,[1,1,5] 和 [1,3,2,1] 。最长子序列为 [1,3,2,1] 。所以答案为 4 。
示例 3:
输入:nums = [1,1,5,4,5], target = 3 输出:-1 解释:无法得到和为 3 的子序列。
提示:
1 <= nums.length <= 10001 <= nums[i] <= 10001 <= target <= 1000
代码:
#include<iostream>
#include<vector>using namespace std;class Solution {public:int lengthOfLongestSubsequence(vector<int>& nums, int target) {int len = nums.size(), i = 0, j = 0;vector<vector<int>> dp(len, vector<int>(target+1, 0));for(i = 0; i < nums.size(); i++){for(j = 0; j <= target; j++){if(i == 0){// 初始化if(j == nums[i])dp[0][j] = 1;}else{if(j > nums[i] && dp[i-1][j-nums[i]] != 0){dp[i][j] = max(dp[i-1][j], dp[i-1][j-nums[i]] + 1);}else if(j == nums[i]){dp[i][j] = max(dp[i-1][j], 1);}elsedp[i][j] = dp[i-1][j];}}}if(dp[len-1][target] == 0) return -1;else return dp[len-1][target];}};int main(){Solution obj;vector<int> nums({1,2,3,4,5});int res = obj.lengthOfLongestSubsequence(nums, 9);cout << res;return 0;
}
解题思路:
(1)使用动态规划思想。
(2)首先,创建一个 dp 数组。
(3)根据题目对 dp 进行初始化。题目主要有一个 target,因此,我们将对 满足第一个元素的大小进行初始化。
(4)根据题目找到递归表达式。本题有,大于、等于和小于三种情况需要判断。
相关文章:
2915. 和为目标值的最长子序列的长度
给你一个下标从 0 开始的整数数组 nums 和一个整数 target 。 返回和为 target 的 nums 子序列中,子序列 长度的最大值 。如果不存在和为 target 的子序列,返回 -1 。 子序列 指的是从原数组中删除一些或者不删除任何元素后,剩余元素保持原来…...
谷仓的安保
Farmer John给谷仓安装了一个新的安全系统,并且要给牛群中的每一个奶牛安排一个有效的密码。一个有效的密码由L(3 < L < 15)个小写字母(来自传统的拉丁字母集a...z)组成,至少有一个元音(a, e, i, o, 或者 u),至少两个辅音(除去元音以外…...
vcredist_x64 资源文件分享
vcredist_x64 是 Microsoft Visual C Redistributable 的 64 位版本,用于在 64 位 Windows 系统上运行使用 Visual C 开发的应用程序。它包含了运行这些应用程序所需的运行时组件。 vcredist_x64 资源工具网盘下载链接:https://pan.quark.cn/s/ef56f838f…...
MySQL零基础教程14—子查询
子查询比较简单,我们还是通过案例引入。 有时候我们查询的时候,需要用到的不止一个表的数据,比如下面的场景: 查询名字叫李晓红同学的班主任姓名 我们提供三个表的基础信息如下: 从三张表的结构,我们不难…...
使用mermaid查看cursor程序生成的流程图
一、得到cursor生成的流程图文本 cursor写的程序正常运行后,在对话框输入框中输入诸如“请生成扫雷的代码流程图”,然后cursor就把流程图给生成了,但是看到的还是文本的样子,保留这部分内容待用 二、注册一个Mermaid绘图账号 …...
L1-031 到底是不是太胖了
L1-031 到底是不是太胖了 - 团体程序设计天梯赛-练习集 (pintia.cn) 解题思路 输入数据 首先从输入中读取正整数 n,表示要处理的人数。 然后通过循环 n 次,每次读取一个人的身高 h(单位:厘米)和实际体重 w࿰…...
服务器时间同步
[rootbogon hwh-ansible]# cat time-sync.sh #!/bin/bash # NTP 服务器信息 NTP_SERVER"192.168.42.12" PASSWORD"123456" # 多个 IP 地址 HOSTS("192.168.42.8" "192.168.42.9" "192.168.42.10" "192.168.42.11"…...
01. HarmonyOS应用开发实践与技术解析
文章目录 前言项目概述HarmonyOS应用架构项目结构Ability生命周期 ArkTS语言特性装饰器状态管理 UI组件与布局基础组件响应式布局样式与主题 页面路由与参数传递页面跳转参数接收 数据绑定与循环渲染数据接口定义循环渲染 条件渲染组件生命周期最佳实践与性能优化组件复用响应式…...
【大厂AI实践】清华:清华古典诗歌自动生成系统“九歌”的算法
【大厂AI实践】清华:清华古典诗歌自动生成系统“九歌”的算法 🌟 嗨,你好,我是 青松 ! 🌈 自小刺头深草里,而今渐觉出蓬蒿。 文章目录 **01 自动作诗缘起****1. 诗歌自动写作** **02 九歌的模型…...
JS基础之函数
函数使用 函数名命名规范 和变量命名基本一致> 尽量小驼峰式命名法 前缀应该为动词 命名建议:常用动词约定 动词含义can判断是否可执行某个动作has判断是否含义某个值is判断是否为某个值get获取某个值set设置某个值load加载某些数据 有返回值的函数 细节: 在函数体中使用…...
基于java SSM springboot学生信息管理系统设计和实现
基于java SSM springboot学生信息管理系统设计和实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 …...
【MongoDB】在Windows11下安装与使用
官网下载链接:Download MongoDB Community Server 官方参考文档:https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-windows/#std-label-install-mdb-community-windows 选择custom类型,其他默认 注意,此选…...
HTML在网页开发中的应用与重要性
## 摘要 HTML(HyperText Markup Language)是网页开发的基础语言之一,它定义了网页的结构和内容。随着互联网的快速发展,HTML不断演进,从HTML4到HTML5,其功能和特性得到了极大的增强。本文将探讨HTML在网页…...
深度学习-140-RAG技术之Agentic Chunking分块技术的实现细节和完备实现
文章目录 1 类AgenticChunker1.1 add_propositions添加命题列表1.2 add_proposition添加单个命题1.3 add_proposition_to_chunk命题添加到块中1.4 _update_chunk_summary更新块摘要1.5 _update_chunk_title更新块主题1.6 _get_new_chunk_summary获取新块摘要1.7 _get_new_chunk…...
全面中耕机与行间中耕机的作用及区别
全面中耕机与行间中耕机的作用及区别 一、作用对比 全面中耕机 核心作用:主要用于整地前的土壤准备和休闲地管理,包括播前整地、土壤改良、化肥与化学药剂的混合等,为大面积种植创造均匀的种床环境。 附加功能:通过深耕ÿ…...
CSS—显示模式display、定位position、元素溢出overflow、float浮动
目录 1.显示模式display 2.定位position 3.元素溢出overflow 4.float浮动 1.显示模式display 显示模式常见元素特点块级元素div标签、h1-h6、p、form、header、footer、section、ul、li、ol、dl、dt独占一行,默认垂直布局,没有设置宽高时宽度继承父级…...
Linux调试器gdb和cgdb的使用【Ubuntu】
文章目录 一、样例代码二、预备三、常见使用1、cgdb调试操作2、gdb调试操作 四、常见技巧1、 **安装cgdb:**2、watch3、set var确定问题原因4、条件断点 一、样例代码 // mycmd.c #include <stdio.h>int Sum(int s, int e) {int result 0;for(int i s; i < e; i){r…...
清华大学DeepSeek详细使用教程共6版免费下载
「清华北大-Deepseek使用手册」 链接:https://pan.quark.cn/s/98782f7d61dc 「清华大学Deepseek整理) 1-6版本链接:https://pan.quark.cn/s/72194e32428a AI学术工具公测链接:https://pan.baidu.com/s/104w_uBB2F42Da0qnk78_ew …...
使用黑森林实验室发布的Flux.1 文生图模型进行 UI 创作以及 PS 操作
我们前期介绍了黑森林实验室发布的 Flux.1 文生图大模型,其模型是一个扩散模型。扩散模型通过迭代细化噪声图像来生成最终图像。这种去噪过程使扩散模型能够创建更连贯、更逼真的图像,因为扩散是一个多步骤过程,这与 GAN(生成对抗…...
React Native 0.78新特性
此版本在 React Native 中发布了 React 19,以及其他相关功能,例如对 Android Vector drawables 的原生支持以及对 iOS 的更好的 Brownfield 集成。 亮点 React 19 React 19 现在可在 React Native 上使用!React 19 需要更新您的应用,因为我们从 React 18 引入了一些更改…...
Deep-Live-Cam性能优化指南:从环境配置到实时换脸全流程解决方案
Deep-Live-Cam性能优化指南:从环境配置到实时换脸全流程解决方案 【免费下载链接】Deep-Live-Cam real time face swap and one-click video deepfake with only a single image 项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam Deep-Live-…...
霜儿-汉服-造相Z-Turbo作品集:看看AI能生成多美的汉服少女图
霜儿-汉服-造相Z-Turbo作品集:看看AI能生成多美的汉服少女图 1. 惊艳开篇:AI汉服艺术的魅力 当传统汉服遇上现代AI技术,会碰撞出怎样的火花?霜儿-汉服-造相Z-Turbo给出了令人惊叹的答案。这个基于Xinference部署的文生图模型服务…...
ROS实战:UZH-FPV数据集下PL-EVIO与主流VIO算法的性能对比
1. UZH-FPV数据集与无人机视觉里程计的挑战 UZH-FPV数据集是苏黎世联邦理工学院发布的专门针对高速无人机场景的多模态数据集。这个数据集最大的特点在于它完整记录了无人机在高速机动飞行(最高速度超过10m/s)时的多传感器数据,包括双目事件相…...
基于Dify的AI数据采集与整理工具设计与实现
基于Dify的AI数据采集与整理工具设计与实现 1. 引言 1.1 背景与需求 在信息爆炸的时代,新闻网站、人物资料库等不断产生海量数据。传统手动采集整理方式效率低下,难以满足实时性、准确性和规模化的要求。本工具旨在利用Dify平台的强大编排能力,结合AI大语言模型(LLM)和…...
4步精通开源SMU调试工具:AMD Ryzen处理器深度配置与性能调优全攻略
4步精通开源SMU调试工具:AMD Ryzen处理器深度配置与性能调优全攻略 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址…...
如何用MusicFree插件打造你的专属音乐播放器:终极免费指南
如何用MusicFree插件打造你的专属音乐播放器:终极免费指南 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins MusicFree插件是一个开源的音乐播放器扩展系统,它允许你将多个音…...
QuickBMS技术探索者指南:游戏资源解析与逆向工程实战
QuickBMS技术探索者指南:游戏资源解析与逆向工程实战 【免费下载链接】QuickBMS QuickBMS by aluigi - Github Mirror 项目地址: https://gitcode.com/gh_mirrors/qui/QuickBMS 在数字内容创作与逆向工程领域,文件格式的多样性与加密机制的复杂性…...
Windows 11硬件限制突破与系统升级完全指南
Windows 11硬件限制突破与系统升级完全指南 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat 当你的电脑因TPM 2.0或CPU世…...
跨平台监控整合指南:如何用GB28181协议让海康/大华NVR对接第三方平台?
跨平台监控整合实战:GB28181协议下海康/大华NVR与第三方平台对接全解析 在商业综合体、智慧园区等大型监控项目中,不同品牌设备的混合部署已成为常态。海康威视、大华等主流厂商的NVR设备如何通过GB28181协议与第三方监控平台实现无缝对接?本…...
从零到一:NS2网络模拟器实战部署与场景构建指南
1. NS2网络模拟器入门指南 第一次接触NS2的朋友可能会被这个老牌网络模拟器的配置过程吓到。我刚开始用的时候,光是解决依赖问题就折腾了两天。不过别担心,跟着我的步骤走,你可以在半小时内完成基础环境搭建。 NS2本质上是一个离散事件网络模…...
