文章目录

    • 题目链接:
    • 题目描述:
    • 解法
    • C++ 算法代码:


题目链接:

1046. 最后一块石头的重量


题目描述:

a36dc198189ce2de606ad7aa0adcdcc4


解法

每次取出最重的两块石头进行碰撞,将剩余的石头重新放入堆中。


C++ 算法代码:

class Solution 
{
public:int lastStoneWeight(vector<int>& stones) {// 最后一块石头的重量问题// 基本思路:使用大根堆模拟石头碰撞的过程// 1. 创建一个大根堆(优先队列)// C++中priority_queue默认是大根堆,元素按从大到小排序priority_queue<int> heap;// 2. 将所有石头的重量放入堆中// 这样可以自动按重量从大到小排序for(auto x : stones) heap.push(x);// 3. 模拟石头碰撞的过程// 每次取出最重的两块石头进行碰撞while(heap.size() > 1)  // 当堆中至少有两块石头时继续{// 取出最重的石头aint a = heap.top(); heap.pop();// 取出第二重的石头bint b = heap.top(); heap.pop();// 如果a比b重,则a会剩下(a-b)的重量// 将剩余的石头重新放入堆中if(a > b) heap.push(a - b);// 如果a等于b,两块石头都会粉碎,不需要额外操作}// 4. 返回最后的结果// 如果堆不为空,返回最后一块石头的重量// 如果堆为空,说明所有石头都粉碎了,返回0return heap.size() ? heap.top() : 0;}
};

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

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

相关文章

中兴云电脑W101D2-晶晨S905L3A-2G+8G-安卓9-线刷固件包

中兴云电脑W101D2-晶晨S905L3A-2G8G-WIFI-蓝牙5.0-3个USB2.0-线刷包线刷方法&#xff1a;1、准备好一根双公头USB线刷刷机线&#xff0c;长度30-50CM长度最佳&#xff0c;同时准备一台电脑&#xff1b;2、电脑上安装好刷机工具Amlogic USB Burning Tool 软件 →打开软件 →文件…

Android OkHttp 底层原理和实战完全教程(责任链模式详解)

目录 1. OkHttp 入门:从一个请求开始 1.1 基本 GET 请求:三步走 1.2 同步 vs 异步:选择你的风格 1.3 为什么选 OkHttp? 2. 配置 OkHttpClient:打造你的专属网络引擎 2.1 超时设置:别让请求卡死 2.2 添加拦截器:窥探请求全过程 2.3 缓存:让请求更快更省流量 3. …

【RK3588部署yolo】算法篇

简历描述收集并制作军事伪装目标数据集&#xff0c;包含真实与伪装各种类型军事目标共计60余类。其中&#xff0c;包含最新战场充气伪装军事装备30余类&#xff0c;并为每一张图片制作了详细的标注。针对军事伪装目标的特点&#xff0c;在YOLOv8的Backbone与Neck部分分别加…

【Spring Boot 快速入门】一、入门

目录Spring Boot 简介Web 入门Spring Boot 快速入门HTTP 协议概述请求协议响应协议解析协议TomcatSpring Boot 简介 Spring Boot 是由 Pivotal 团队&#xff08;后被 VMware 收购&#xff09;开发的基于 Spring 框架的开源项目&#xff0c;于 2014 年首次发布。其核心目标是简…

如何调整服务器的内核参数?-哈尔滨云前沿

调整服务器内核参数是一项较为专业的操作&#xff0c;不同的操作系统调整方式略有不同&#xff0c;以下以常见的 Linux 系统为例&#xff0c;介绍一些调整服务器内核参数的一般步骤和常用参数&#xff1a;一般步骤 备份当前配置&#xff1a;在修改内核参数之前&#xff0c;先备…

C++基础:模拟实现queue和stack。底层:适配器

引言模拟实现queue和stack&#xff0c;理解适配器&#xff0c;实现起来非常简单。一、适配器 适配器是一种能让原本不兼容的接口协同工作的设计模式或者组件。它的主要作用是对一个类的接口进行转换&#xff0c;使其符合另一个类的期望接口&#xff0c;进而实现适配和复用。&am…

OI 杂题

OI 杂题字符串括号匹配例 1&#xff1a;与之前的类似&#xff0c;就是讲一点技巧&#xff0c;但是比较乱&#xff0c;凑合着看吧。 字符串 括号匹配 几何意义&#xff1a;考虑令 ( 为 111 变换&#xff0c;令 ) 为 −1-1−1 变换&#xff0c;然后对这个 1/−11/-11/−1 构成…

【论文阅读】Safety Alignment Should Be Made More Than Just a Few Tokens Deep

Safety Alignment Should Be Made More Than Just a Few Tokens Deep原文摘要问题提出现状与漏洞&#xff1a;当前LLMs的安全对齐机制容易被攻破&#xff0c;即使是简单的攻击&#xff08;如对抗性后缀攻击&#xff09;或良性的微调也可能导致模型越狱。核心论点&#xff1a; 作…

Generative AI in Game Development

如有侵权或其他问题&#xff0c;欢迎留言联系更正或删除。 出处&#xff1a;CHI 20241. 一段话总结本研究通过对来自 Reddit 和 Facebook 群组的 3,091 条独立游戏开发者的在线帖子和评论进行定性分析&#xff0c;探讨了他们对生成式 AI在游戏开发中多方面作用的认知与设想。研…

【C++算法】72.队列+宽搜_二叉树的最大宽度

文章目录题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;题目链接&#xff1a; 662. 二叉树最大宽度 题目描述&#xff1a; 解法 这里的宽度指的是一层的最右边的非空节点到一层的最左边的非空节点&#xff0c;一共的节点数。 解法一&#xff1a;硬来&am…

什么是3DVR?VR技术有哪些应用场景?

VR与3D技术解析及应用在高科技领域&#xff0c;VR和3D是两个常被提及的名词。那么&#xff0c;这两者之间究竟存在着怎样的区别与联系呢&#xff1f;简而来说&#xff0c;VR技术是3D技术的一种高级延展和深化应用。3D技术&#xff0c;即将二维设计图转化为立体、逼真的视觉效果…

栈与队列:数据结构核心解密

栈和队列的基本 栈(Stack)是一种后进先出(LIFO, Last In First Out)的数据结构。元素的插入和删除操作只能在栈顶进行。常见的操作包括压栈(push)和弹栈(pop)。 队列(Queue)是一种先进先出(FIFO, First In First Out)的数据结构。元素的插入在队尾进行,删除在队…

《C++初阶之STL》【list容器:详解 + 实现】

【list容器&#xff1a;详解 实现】目录前言------------标准接口介绍------------标准模板库中的list容器是什么样的呢&#xff1f;1. 常见的构造2. 迭代器操作std::list::beginstd::list::endstd::list::rbeginstd::list::rend3. 容量的操作std::list::sizestd::list::empty…

【灰度实验】——图像预处理(OpenCV)

目录 1 灰度图 2 最大值法 3 平均值法 4 加权均值法 5 两个极端的灰度值 将彩色图转为灰度图地过程称为灰度化。 灰度图是单通道图像&#xff0c;灰度化本质就是将彩色图的三通道合并成一个通道的过程。三种合并方法&#xff1a;最大值法&#xff0c;平均值法和加权均值法…

【linux驱动开发】编译linux驱动程序报错:ERROR: Kernel configuration is invalid.

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录一、报错二、解决方法1.先编译linux内核源码2.再重新编译驱动程序一、报错 在编译驱动程序过程中&#xff0c;经常碰到的一个小问题&#xff1a; make -C /home/lu…

Java面试宝典:MySQL中的锁

InnoDB中锁的类型非常多,总体上可以如下分类: 这些锁都是做什么的?具体含义是什么?我们现在来一一学习。 1. 解决并发事务问题 我们已经知道事务并发执行时可能带来的各种问题。最大的一个难点是:一方面要最大程度地利用数据库的并发访问能力,另一方面又要确保每个用户…

设备识别最佳实践:四维交叉验证框架

设备识别最佳实践&#xff1a;四维交叉验证框架 1. MAC地址分析&#xff08;40%权重&#xff09; - 设备身份核验 核心方法&#xff1a; # MAC地址标准化&#xff08;OUI提取&#xff09; mac"B4:2E:99:FB:9D:78" oui$(echo $mac | tr -d : | cut -c 1-6 | tr a-f A-…

《Java 程序设计》第 9 章 - 内部类、枚举和注解

大家好&#xff0c;今天我们来学习《Java 程序设计》第 9 章的内容 —— 内部类、枚举和注解。这三个知识点是 Java 中提升代码灵活性和可读性的重要工具&#xff0c;在实际开发中非常常用。接下来我们逐一展开讲解&#xff0c;每个知识点都会配上可直接运行的代码示例&#xf…

CTF Misc入门篇

在CTF比赛中&#xff0c;misc方向是必考的一个方向&#xff0c;其中&#xff0c;图形隐写是最最常见的类型。 先从Misc开始入门&#xff0c;一般会借助CTF SHOW解题平台&#xff0c;解题&#xff0c;然后进行技巧总结。 目录 图片篇(基础操作) misc1 misc2 misc3 misc4 …

Vulnhub 02 Breakout靶机

一、信息收集 我是在仅主机模式下扫描的。 以此去访问端口。 80端口是上面的主页&#xff0c;查看一下源代码&#xff0c;发现了如下图所示的注释&#xff0c;翻译过来是&#xff1a;别担心&#xff0c;没有人会来这里&#xff0c;安全地与你分享我的访问权限&#xff0c;它是…