动态规划:目标和

参考资料:代码随想录

这道题开题解给我看的一脸懵,最后还是靠着手动画图才稍微明白。

本次和最后一块石头的重量2有异曲同工之妙,都是要分成两堆。难点1就是想到这个方面。

怎么转为背包问题。

正数的集合总和-负数的集合总和=目标和,那么怎么求出正数的集合;

负数的集合总和=总和-正数的集合总和。

所以,正数的集合总和-(总和-正数的集合总和)=目标和

所以,正数的集合总和=(总和+目标和)/2。

正数的集合总和=最大背包重量

1.确定dp数组含义

定义一个最大背包整理的大小的数组

含义为,0-n重量分别有几种组合方式。

2.初始化dp数组

因为是求方式数,dp[0]初始化为1,不用非得死扣为什么为1,知道是为了推出正确答案才这么初始化就够了。

3.确定遍历顺序

因为每个元素只能使用一次,所以倒序遍历。

4.确定递推公式

很难解释含义,只能靠带入递推公式,手动画表格理解。

class Solution {public int findTargetSumWays(int[] nums, int target) {//确定最大重量int sum = Arrays.stream(nums).sum();if(Math.abs(target) > sum) return 0;if((target+sum)%2 == 1) return 0;int maxWeight = (target+sum)/2;//1.确定dp数组含义int[] dp = new int[maxWeight+1];//2.初始化Dp数组dp[0] = 1;//3.确定遍历顺序for(int i = 0;i < nums.length;i++){for(int j = maxWeight;j >= nums[i];j--){dp[j] += dp[j-nums[i]];}}return dp[maxWeight];}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/17423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【css3】02-css3新特性之选择器篇

目录 1 属性选择器 2 结构伪类选择器 3 其他选择器 :target和::selection ::first-line和::first-letter 4 伪类和伪元素的区别 伪类&#xff08;Pseudo-classes&#xff09; 伪元素&#xff08;Pseudo-elements&#xff09; 伪类和伪元素的区别 1 属性选择器 ☞ 属性选…

螺旋矩阵(算法题)

文章目录 螺旋矩阵解题思路 螺旋矩阵 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]]解题思路 模…

人类和小鼠转录组上游分析

基础软件 conda install cutadapt, trimmomatic, samtools, hisat2, subread, deeptools -y人类转录组上游分析 # 样本名称 sample_namesample# 线程 threads4# 双端测序原始fastq1和fastq2路径 fastq1_path/path/${sample_name}_1.fq.gz fastq2_path/path/${sample_name}_2.…

5倍收益秘诀:APP广告如何变现?

在这个数字时代&#xff0c;智能手机几乎成了我们生活中不可或缺的一部分。无论是早晨醒来的第一件事&#xff0c;还是睡前的最后一件事&#xff0c;手机都与我们紧密相连。而在这个连接的世界里&#xff0c;APP广告变现成为了一个热门话题&#xff0c;它不仅仅是将每一次点击转…

AI 大模型如何在各行业跑通业务闭环?

随着人工智能技术的快速发展&#xff0c;AI大模型作为新兴的技术范式&#xff0c;正在深刻改变着各行各业的生产方式和服务模式。从科技金融到健康医疗&#xff0c;从教育行业到物流与供应链&#xff0c;AI大模型的应用正在推动企业向全面数智化转型。然而&#xff0c;当惊喜与…

Redis与数据库同步指南:订阅Binlog实现数据一致性

本文作者:小米,一个热爱技术分享的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是29岁的小米,一名积极活泼、热爱分享技术的开发者。今天,我们来聊聊分布式系统中的一个重要话题——分布式一致性,特别是数据库和R…

解决bug :OSError: cannot open resource

在创建词云&#xff0c;运行程序的时候报错OSError: cannot open resource 1、定位问题 遇到这种报错&#xff0c;通常是由于无法加载字体导致的 2、寻找字体文件 字体文件通常以 ​​.ttf​​ 或 ​​.otf​​ 扩展名结尾。在Windows操作系统上&#xff0c;字体文件通常存…

如何清除电脑使用痕迹?5个方法保护个人隐私!

“我在使用电脑时&#xff0c;想将之前的使用痕迹删除&#xff0c;不知道应该怎么才能正确操作呢&#xff0c;希望大家给我出出主意。” 在使用电脑的过程中&#xff0c;我们经常会留下各种使用痕迹&#xff0c;如浏览历史、文档记录、临时文件等。这些痕迹可能会暴露我们的隐私…

随机森林算法实现分类

随机森林算法实现对编码后二进制数据的识别 1.直接先上代码&#xff01; import numpy as np import pandas as pd from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import …

自用升级centos7.2的默认Python 2.7.5为python3.8

wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgztar zxvf Python-3.8.8.tgz 进入刚刚解压后的目录 ./configure --prefix/data/soft/python3按照上面截图所属&#xff0c;需要安装gcc 安装报错需要安装 sudo yum install zlib1g-dev make -j4 make install -…

京东618全民拆快递 autojs一键脚本

京东618的最新活动为全民拆快递,因为是20周年的活动,所以可以瓜分20亿红包,想要购买一些家电的朋友可以提前关注起来,领取的红包可以直接抵扣,京东618全民拆快递软件app是专为此活动打造的一款辅助工具,可以帮你自动做任务,当然也支持淘宝的任务。 任务设置 1、自动打开…

【安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT】

安装笔记-系列文章目录 安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT 文章目录 安装笔记-系列文章目录安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT 前言一、软件介绍名称&#xff1a;OpenWRT主页官方介绍 二、安装步骤测试版本&#xff1a;openwrt-23.05…

开源大模型与闭源大模型那个更好?

开源大模型和闭源大模型各有其优势和劣势&#xff0c;究竟哪个更好取决于具体的应用场景、组织目标、资源和能力等因素。以下是两种模型的一些优势对比&#xff1a; 开源大模型的优势&#xff1a; 1. 社区支持与合作&#xff1a;开源大模型能够借助全球开发者社区的力量&#x…

Java单元测试

单元测试一 一、单选题 1 public class Test{public static void main(String[] args){int i1;switch(i){case 0:System.out.println("1"(i));case 1:System.out.println("2"(i));break;case 2:System.out.println("3"(i));default…

【WEEK13】学习目标及总结【Spring Boot】【中文版】

学习目标&#xff1a; 学习SpringBoot 学习内容&#xff1a; 参考视频教程【狂神说Java】SpringBoot最新教程IDEA版通俗易懂Shiro 简介Hello World整合Spring Boot登录拦截用户认证Shiro整合MyBatisShiro请求授权的实现&#xff08;前半部分&#xff09; 学习时间及产出&…

算法题目记录

1.最短距离 题目简化&#xff1a; 明确问题 算法提示&#xff1a; 1.如何判断同类之间的最短距离为0 ---> 并查集路径压缩 2.如何存储任意两类的距离 ---> 邻接矩阵存储无向图 3.如何表示每个点属于哪一类 ---> 用数组id[节点]存储属于哪一类 4.如何算出任意两类…

光伏组件积灰检测系统

光伏组件积灰检测系统是一种专门用于监测光伏组件表面灰尘积累情况的设备。以下是关于该系统的详细信息和特点&#xff1a; 系统概述 光伏组件积灰检测系统安装在光伏板的框架上&#xff0c;通过实时监测光伏组件表面的灰尘厚度、分布情况和清洁度&#xff0c;为运维人员提供…

Codeforces Round 948 (Div. 2) D. XORificator(哈希)

题目 n*m(n*m<3e5)的矩阵&#xff0c; 实际为t(t<1e4)组样例&#xff0c;但保证sum n*m不超过3e5 你可以选一行把所有01翻转&#xff0c;问最多可以让多少列只有一个1&#xff0c;然后把你翻转的行输出 思路来源 其实题还挺裸的&#xff0c;教了一下潘老师&#xff0…

UIAbility的使用

UIAbility概述 UIAbility是一种包含用户界面的应用组件&#xff0c;主要用于和用户进行交互。UIAbility也是系统调度的单元&#xff0c;为应用提供一系列的窗口&#xff0c;应用在这些窗口里绘制用户交互界面。 每一个UIAbility实例&#xff0c;都对应于一个最近任务列表中的任…