算法训练营第38天|1049. 最后一块石头的重量 II|494. 目标和|474.一和零

1049. 最后一块石头的重量 II

思路:本题思路为尽可能的将石头分成两堆。可以看成有一个容量为总和一半的背包,尽可能装满这个背包。

494. 目标和

思路:首先要把这道题转化为背包问题,这道题本质上是要将数组分成两个子集。其中一个子集满足一定的条件。

背包问题转化:假设加法的总和为x,那么减法对应的总和就是sum - x,所以我们要求的是

x - (sum - x) = target,所以x = (target + sum) / 2,此时问题就转化为,装满容量为x的背包,有几种方法。如果不能整除2,则没有方法。

dp[i][j]数组含义:nums数组前i个数字,和为j的组合数。

初始化:dp[0][0]=1,表示如果数组什么都没有的话,和为0只有一种方法,第一行其余初始化为0,表示如果数组什么都没有的话,和为其他值没有方法。只初始化第一行就行。

递推公式:情况分为选择第i个数值或者不选第i个数值。两种情况数相加。

dp[i][j]=dp[i-1][j];
if(j-nums[i-1]>=0) dp[i][j]+=dp[i-1][j-nums[i-1]];

错误点:1.初始化错误,使用上述的dp数组更容易初始化,即前i个的和

2.未考虑x<0的情况,这种情况也是要直接返回0的,因为一群非负数的和不可能是负数。

474.一和零

1.仍然是01背包,但是要在两个维度上做限制,可以使用二维滚动数组。

2.dp[i][j]表示在0的个数小于i,1的个数小于j的情况下,最多有这么多的字串。

3.这个题相当于每个物品的价值为1,其余与普通背包并无不同。

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

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

相关文章

vue3 + antd + typeScript 封装一个高仿的ProTable(2)

前言 因为我想要一个类似ProTable高级组件的表单,但是查询之后发现没有,所以就自己写一个,这个版本会更加完善。 功能 1.封装表格request请求集中(分页、筛选、过滤),让功能使用起来更加简单 const sourceRequest = async (params:any, pagination:any, filters:any, …

java通过jwt生成Token

定义 JWT&#xff08;JSON Web Token&#xff09;简而言之&#xff0c;JWT是一个加密的字符串&#xff0c;JWT传输的信息经过了数字签名&#xff0c;因此传输的信息可以被验证和信任。一般被用来在身份提供者和服务提供者间传递被认证用户的身份信息&#xff0c;以便于从资源服…

React@16.x(60)Redux@4.x(9)- 实现 applyMiddleware

目录 1&#xff0c;applyMiddleware 原理2&#xff0c;实现2.1&#xff0c;applyMiddleware2.1.1&#xff0c;compose 方法2.1.2&#xff0c;applyMiddleware 2.2&#xff0c;修改 createStore 接上篇文章&#xff1a;Redux中间件介绍。 1&#xff0c;applyMiddleware 原理 R…

iOS——MRC与ARC以及自动释放池深入底层学习

MRC与ARC再回顾 在前面&#xff0c;我们简单学了MRC与ARC。MRC指手动内存管理&#xff0c;需要开发者使用retain、release等手动管理对象的引用计数&#xff0c;确保对象在必要时被释放。ARC指自动内存管理&#xff0c;由编译器自动管理对象的引用计数&#xff0c;开发者不需要…

基于深度学习的机器人控制

基于深度学习的机器人控制技术结合了深度学习模型和机器人操作&#xff0c;旨在提升机器人在复杂环境中的自适应能力和智能行为。这项技术在自动驾驶、工业自动化、医疗辅助等领域有着广泛的应用。以下是对这一领域的系统介绍&#xff1a; 1. 任务和目标 机器人控制的主要任务…

基于springboot和mybatis的RealWorld后端项目实战一之hello-springboot

新建Maven项目 注意archetype选择quickstart pom.xml 修改App.java App.java同级目录新增controller包 HelloController.java package org.example.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotatio…

浅析stm32启动文件

浅析stm32启动文件 文章目录 浅析stm32启动文件1.什么是启动文件&#xff1f;2.启动文件的命名规则3.stm32芯片的命名规则 1.什么是启动文件&#xff1f; 我们来看gpt给出的答案&#xff1a; STM32的启动文件是一个关键的汇编语言源文件&#xff0c;它负责在微控制器上电或复位…

【简历】惠州某二本学院:前端简历指导,秋招面试通过率为0

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一份25届二本同学&#xff0c;投递前端职位的简历&#xff0c;那么在校招环节二本同学主要针对的还是小公司&#xff0c;这个学校因为…

LVS+Nginx高可用集群---搭建高可用集群负载均衡

1.LVS简介 Lvs(Linux Virtual Server)&#xff1a;使用集群&#xff0c;对于整个用户来说是透明&#xff0c;用户访问的时候是单个高性能的整体。道理与nginx类似 LVS网络拓扑图&#xff1a;是基于四层。 用户通过浏览器发送请求&#xff0c;然后到达LVS.Lvs根据相应算法将…

AI PC创造新商机,ISP与HPD集成单芯片方案受欢迎

今年以来&#xff0c;AI PC逐渐成为市场的焦点&#xff0c;因为AI PC给多年一成不变的PC市场带来了新的看点&#xff0c;也给了消费者升级的理由。今年是AI PC的元年&#xff0c;上半年不论是芯片厂商&#xff0c;还是PC厂商都在AI PC市场快速布局。AI PC相关的大模型、生态&am…

ollama + fastgpt 搭建免费本地知识库

目录 1、ollama ollama的一些操作命令: 使用的方式: 2、fastgpt 快速部署: 修改配置: config.json: docker-compose.yml: 运行fastgpt: 访问OneApi: 添加令牌和渠道: 登陆fastgpt,创建知识库和应用 3、总结: 附录: 1. 11434是ollama的端口: 2. m3e 测…

处理多维特征的输入(Multiple Dimension Input)

输入x有多个特征features&#xff0c;最终得到输出y的类别。 在上一节提到&#xff0c;左边是我们最开始了解的线性回归&#xff0c;右边是我们的logistics回归&#xff08;返回值为一个离散的集合&#xff09;。对于本节&#xff0c;就是在logistics回归输入x的基础上让其多一…

中伟视界:矿山智能化——AI引领创新,行车不行人检测算法实现实时预警,防范行车不行人事故发生

行车不行人检测AI分析算法通过利用人工智能和深度学习技术&#xff0c;对井下行人和车辆的行驶情况进行实时检测和识别。该算法在提升矿山安全管理、减少事故发生方面具有重要作用。本文将详细介绍该AI算法的识别过程、应用场景及其技术特点。 一、识别过程 行车不行人检测AI分…

LM算法与TRF算法(含有在ICP配准情境下的两种算法对应代码)

在 ICP 配准中,使用LM算法通常会遇到找到的对应点对数量不足的问题 因为使用 Levenberg-Marquardt (LM) 算法进行最小二乘优化时,残差的数量小于变量的数量。 实际应用: ICP配准过程:针对两个三维点云数据,两个点云上均有相互对应的3D关键点。我需要在每个点云上的每个关…

3 万字 25 道 Nginx经典面试题总结

&#x1f345; 作者简介&#xff1a;哪吒&#xff0c;CSDN2021博客之星亚军&#x1f3c6;、新星计划导师✌、博客专家&#x1f4aa; &#x1f345; 哪吒多年工作总结&#xff1a;Java学习路线总结&#xff0c;搬砖工逆袭Java架构师 &#x1f345; 技术交流&#xff1a;定期更新…

Hadoop安装报错

报错&#xff1a;ERROR 2023-03-09 21:33:00,178 NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions. 解决方案: 在安装失败得客户端执行 编辑 /etc/python/cert-verification.cfg 配置文件&#xff0c;将 [https] 节的 verify 项 设为禁用…

怎么查看一个网站的ip地址?

1、使用nslookup nslookup 是一个网络诊断工具&#xff0c;用于查询域名系统&#xff08;DNS&#xff09;记录&#xff0c;将域名解析为IP地址&#xff0c;或者查询其他DNS记录类型&#xff0c;如MX&#xff08;邮件交换记录&#xff09;、CNAME&#xff08;别名记录&#xff…

css - - - - - 环形倒计时进度条实现

css - - - - - 环形倒计时进度条实现 1. 效果图展示2. 代码展示 1. 效果图展示 2. 代码展示 // html <view class"father"><view class"progress" style"--progress:{{red}}; --last:{{gray}}"></view> </view>// css …

推荐系统中的冷启动问题及其解决方案

目录 简介冷启动问题分类解决方案及实践方法1. 用户冷启动解决方案2. 物品冷启动解决方案3. 系统冷启动解决方案 结论 简介 推荐系统的冷启动问题是指在系统面临新用户或新物品时&#xff0c;无法有效地提供个性化推荐的挑战。这种情况下&#xff0c;系统缺乏足够的历史数据来…

如何成为一个厉害的人

要变得厉害&#xff0c;需要不断学习和实践。以下是一些建议&#xff0c;帮助提升技能和知识&#xff1a; 保持好奇心&#xff1a; 对世界保持好奇&#xff0c;积极探索和学习新知识。广泛阅读书籍、文章和研究论文。 系统学习&#xff1a; 学习基础学科如数学、逻辑、计算机科…