11 动态规划解最后一块石头的重量II
来源:LeetCode第1049题
难度:中等
描述:有一堆石头,用证书数组stones表示,其中stones[i]表示第i块石头的重量,每一回合,从中选出任意两块石头,然后将他们放在一起粉碎,假设石头的重量分别为x和y,且x<=y,那么可能粉碎的结果可能如下:
如果x==y,那么两块石头会被完全粉碎
如果x!=y,那么重量为x的石头将会完全被粉碎,而重量y的石头新重量为y-x,最后最多只剩下一块石头,最多只会剩下一块石头,返回此石头可能最小重量。
思路解析:该题可以看做是一个背包问题,将stones数组分为重量尽可能接近的两队,然后两队之间的差值即是此石头最后的重量,可以定义二维动态规划数组dp[i][j]表示从前i个元素中挑选出元素放入容量为j的背包所能达到的最大值,对于每个元素都可以选或者不选;
public int getLastStone(int []stones)
{
int sum=0;
for(int number:stones)
{
sum+=number;
}
int dp[][]=new int[stones.length][sum>>1];
dp[0][0]=0;
for(int i=1;i<stones.length;i++)
{
dp[i][0]=0;
}
for(int i=1;i<stones.length;i++)
{
for(int j=1;j<sum>>1;j++)
{
if(stones[i]<=j)
{
dp[i][j]=Math.max(dp[i-1][j],dp[i-1][j-stones[i]]+stones[i]);
}else
{
dp[i][j]=dp[i-1][j];
}
}
}
return Math.abs(dp[stones.length-1][sum>>1]-sum);
}
相关文章:
11 动态规划解最后一块石头的重量II
来源:LeetCode第1049题 难度:中等 描述:有一堆石头,用证书数组stones表示,其中stones[i]表示第i块石头的重量,每一回合,从中选出任意两块石头,然后将他们放在一起粉碎,…...
LeetCode算法题解(动态规划,股票买卖)|LeetCode121. 买卖股票的最佳时机、LeetCode122. 买卖股票的最佳时机 II
一、LeetCode121. 买卖股票的最佳时机 题目链接:121. 买卖股票的最佳时机 题目描述: 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一…...
python实验3 石头剪刀布游戏
实验3:石头剪刀布游戏 一、实验目的二、知识要点图三、实验1. 石头剪刀布2. 实现大侠个人信息 一、实验目的 了解3类基本组合数据类型。理解列表概念并掌握Python中列表的使用。理解字典概念并掌握Python中字典的使用。运用jieba库进行中文分词并进行文本词频统计。…...
米贸搜|如何设置 Facebook 转换 API + 事件重复数据删除
Facebook Pixel 可让您跟踪用户在您网站上的行为、收集再营销受众并创建相似对象。如果 Facebook 像素实现正确,它将向 FB 机器学习算法提供相关信息。 FB ML 将使用像素数据向最有可能转化的人展示您的广告。 几年来,我们可以通过 JavaScript 代码、应…...
python每日一题——11滑动窗口最大值
题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 示例 1: 输入:nums [1,3,-1,-3,5,3,6,7], k 3…...
【C++ 程序设计入门基础】- 第3节-循环结构01
目录 循环结构 一、for 语句 for 循环案例 输入一个整数n,输出1~n的所有整数。 编译运行,查看输出结果 编译调试 for 循环结构语义分析 二、beak 语句 三、continue 语句 案例1: 案例2: 案例3: 循环…...
人工智能原理复习--知识表示(一)
文章目录 上一篇知识概述命题逻辑谓词逻辑谓词逻辑的应用 下一篇 上一篇 人工智能原理复习–绪论 知识概述 知识就是人类认识自然界的精神产物,是人类进行智能活动的基础。 是经过加工的信息,包括事实、信念和启发式规则。 分类: 按作用可…...
网络运维与网络安全 学习笔记2023.11.28
网络运维与网络安全 学习笔记 第二十九天 今日目标 OSPF汇总之域间路由、OSPF汇总之外部路由、OSPF链路认证 OSPF安全认证之区域认证、OSPF虚链路 OSPF汇总指域间路由 项目背景 企业内网运行多区域的OSPF网络,在R1 上存在多个不稳定的链路 R1上的不稳定链路&a…...
Rust开发——数据对象的内存布局
枚举与Sized 数据 一般数据类型的布局是其大小(size)、对齐方式(align)及其字段的相对偏移量。 1. 枚举(Enum)的布局: 枚举类型在内存中的布局通常是由编译器来确定的。不同的编译器可能有不…...
mySQL踩坑记录
1.MYSQL Workbench-8.0.27.1出现"Exception: Current profile has no WMI enabled"错误的解决方法 MYSQL Workbench-8.0.27.1出现“Exception: Current profile has no WMI enabled“错误的解决方法_赛风扥的博客-CSDN博客 C:\Program Files\MySQL\MySQL Workbench …...
【Java】使用 IDEA 快速生成 SpringBoot 模块
项目目录下新建 module 模块 在 pom.xml 更改为 spring initializr 配置之后的 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchem…...
2023网络安全产业图谱
1. 前言 2023年7月10日,嘶吼安全产业研究院联合国家网络安全产业园区(通州园)正式发布《嘶吼2023网络安全产业图谱》。 嘶吼安全产业研究院根据当前网络安全发展规划与趋势发布《嘶吼2023网络安全产业图谱》调研,旨在进一步了解…...
一则 MongoDB 副本集迁移实操案例
文中详细阐述了通过全量 增量 Oplog 的迁移方式,完成一套副本集 MongoDB 迁移的全过程。 作者:张然,DBA 数据库技术爱好者~ 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文约 900…...
2022年03月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试
Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共10题,每题2分,共30分) 第1题 由1,2,3,4,5,0这六个数字经过排列组合能够组成多少个六位数偶数?注意:每一位都不相同,最高位不能为0。 A:720 B:360 C:312 D:88 答案:C 逻辑知识单选题 第2题 运行以下程…...
传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖
近日,中国人工智能学会与科技部新一代人工智能发展研究中心联合举办2023首届全国人工智能应用场景创新挑战赛(2023 1st China’s Innovation Challenge on Artificial Intelligence Application Scene,以下简称CICAS 2023),吸引了…...
SQL注入-SQL注入过程
SQL注入的过程 手工注入过程 (1) 判断是否存在注入点; (2) 判断字段长度(字段数); (3) 判断字段回显位置; (4) 判断数据库信息; (5) 查找数据库名; (6) 查找数据库表; (7) 查找数据库表中所有字段以及字段值; (8) 猜解账号密码; (9) 登录管理员后台; 以sql-labs less-2举例 会…...
选择更灵活的设计工具:SOLIDWORKS 软件网络版与单机版的比较
随着科技的飞速发展,工程设计领域对于高效、灵活的设计工具需求日益增加。SOLIDWORKS 作为一款广受欢迎的三维设计软件,提供了网络版和单机版两种选择。在本文中,我们将深入探讨这两个版本的区别,并为您详细介绍它们的价格差异。 …...
Go语言中获取协程ID
简介 java同事都知道,线程会有对应的id,那么go语言中协程有id吗,其实是有的,但是不建议使用。 实在需要使用的话可以使用本文的例子获取 stack 我们先看一下runtime.Stack打印出来的栈结构,其中就包括了协程id fu…...
CH58x-BLE 程序阅读笔记
CH58x-BLE 程序阅读笔记 1. 广播1.1 广播类型设置1.2 广播数据长度 2. MTU设置2.1 CH58x 蓝牙协议栈支持有效最大MTU为247 1. 广播 1.1 广播类型设置 1.2 广播数据长度 1) GAP-广播数据(最大大小31字节,但最好保持较短以节省广告时的电量&a…...
ST53xx 系列是一种高精度、高输入电压、低静态电流、高速度、低压差线性稳压器
ST53xxS/T 40V,低静态电流,高可靠性 LDO 概述: ST53xx 系列是一种高精度、高输入电压、低静态电流、高速度、低压差线性稳压器,具有高纹波抑制能力。在 Vour 5V VIN 7V 时,输入电压高达40V,负载电流高达300…...
BMS81M001超低功耗震动唤醒模块技术解析
1. BMS81M001 唤醒式震动检测模块深度技术解析1.1 模块定位与工程价值BMS81M001 是由 BEST MODULES CORP 推出的专用低功耗唤醒型震动检测模块,其核心设计目标是解决嵌入式系统中“持续监听机械扰动”带来的能耗瓶颈问题。在工业状态监测、智能穿戴设备、防盗报警系…...
太空探索与宇宙概述
推动太空探索的技术 太空探索是由航空航天工程、机器人技术和卫星技术的进步所推动的,融合了科学、技术和创新的跨学科领域。其总体目标是探索天体、研究宇宙现象,并解开有关宇宙起源、演化以及地外生命存在可能性的关键问题。 火箭技术。太空探索中最基…...
HUB75Enano:Arduino Nano 的轻量级 HUB75E 显示驱动库
1. HUB75Enano 库深度技术解析:面向 Arduino Nano 的紧凑型 HUB75E 显示驱动方案1.1 项目定位与工程约束本质HUB75Enano 是一个专为资源极度受限的 AVR 平台(特别是 ATmega328P)设计的 HUB75E 接口 LED 矩阵驱动库。其核心价值不在于功能堆砌…...
嵌入式c语言——关键字4
typedef 给数据类型起个别名,使得对程序的可读性更高吗,同时和#define不一样typedeff是关键字,对已经存在的数据类型取别名。 在编译阶段处理,会进行类型检查,只能在定义的作用域内使用。 define是预处理指令ÿ…...
NSSCTF_reverse_[SWPUCTF 2021 新生赛]re1——[SWPUCTF 2021 新生赛]re2
目录 [SWPUCTF 2021 新生赛]re1 [SWPUCTF 2021 新生赛]简简单单的逻辑 [LitCTF 2023]世界上最棒的程序员 [NSSCTF 2022 Spring Recruit]easy C [SWPUCTF 2021 新生赛]re2 [SWPUCTF 2021 新生赛]re1 首先先查一下这个exe软件 是一个64位程序,我们用ida64打开 找…...
OpenClaw语音控制方案:千问3.5-35B-A3B-FP8对接Whisper实现声控自动化
OpenClaw语音控制方案:千问3.5-35B-A3B-FP8对接Whisper实现声控自动化 1. 为什么需要语音控制自动化? 上周整理实验室数据时,我双手正忙着操作显微镜,突然需要查一份文献——那种"腾不出手却必须立刻操作电脑"的窘境&…...
基于File-Based App开发MVP项目钨
Issue 概述 先来看看提交这个 Issue 的作者是为什么想到这个点子的,以及他初步的核心设计概念。?? 本 PR 实现了 Apache Gravitino 与 SeaTunnel 的集成,将其作为非关系型连接器的外部元数据服务。通过 Gravitino 的 REST API 自动获取表结构和元数据&…...
NFC Tool 免vip,使用联动密钥破解加密门禁卡教程
nfc门禁破解共享密钥,免vip使用联动密钥破解加密门禁卡 本项目将不定期更新密钥~~~~ 使用方式 方式一:使用本项目的 Android 扫描 APP(推荐) 本项目提供了一个独立的 Android 应用,内置密钥库,无需下载…...
深入剖析 Android 系统属性:从 build.prop 到 Selinux 安全机制
1. Android系统属性基础入门 第一次接触Android系统属性时,我也被各种.prop文件和复杂的配置搞得一头雾水。经过多年实战,我发现理解属性系统其实有个简单的方法 - 把它想象成Windows的注册表。就像注册表存储着Windows的配置信息一样,Androi…...
MTK Camera调试实战:搞定I2C报错、图像反向、颜色异常等常见问题
MTK Camera调试实战:从寄存器操作到硬件测量的全链路排错指南 当你在实验室盯着那块始终黑屏的Camera模组,或是产线上反复出现颜色失真的测试样机时,真正考验的不仅是技术手册的熟悉程度,更是系统化的调试思维。这份指南将带你穿越…...
