LeetCode 1046. 最后一块石头的重量(priority_queue 堆)
1. 题目
有一堆石头,每块石头的重量都是正整数。
每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:
如果 x == y,那么两块石头都会被完全粉碎;
如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。
最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/last-stone-weight
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 优先队列(堆)解题
类似题目:LeetCode 1049. 最后一块石头的重量 II(DP)
class Solution {public:int lastStoneWeight(vector<int>& stones) {priority_queue<int> q(stones.begin(),stones.end());int x, y;while(q.size() > 1){y = q.top();q.pop();x = q.top();q.pop();if(x != y)q.push(y-x);}if(q.size() == 0)return 0;return q.top();}
};
LeetCode 1046. 最后一块石头的重量(priority_queue 堆)相关推荐
- leetcode 1046 最后一块石头的重量
1046. 最后一块石头的重量 难度简单98收藏分享切换为英文接收动态反馈 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x ...
- leetcode 1046. 最后一块石头的重量(堆)
有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x == y ...
- 力扣 leetcode 1046. 最后一块石头的重量 (python)
Topic: 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 ...
- LeetCode[1046]最后一块石头的重量
难度:简单 题目: 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: ...
- 2022-2-19 Leetcode 1046.最后一块石头的重量
测试程序,觉得蛮对的.没有想明白错在哪里... #include<iostream> #include<vector> #include<string> #incl ...
- LeetCode 1049. 最后一块石头的重量 II(DP)
1. 题目 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出任意两块石头,然后将它们一起粉碎. 假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x ...
- 力扣题解-1046. 最后一块石头的重量
题目:1046. 最后一块石头的重量 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉 ...
- 1046. 最后一块石头的重量
链接:1046. 最后一块石头的重量 题解: class Solution {public:int lastStoneWeight(vector<int>& stones) {st ...
- 2022-2-19 Leetcode 1049.最后一块石头的重量II
例二分析:26+21-40 = 7 33-31 = 2 7-2 = 5 相当于小块石头集合之后一起去砸大石头. 这道题和最后一块石头的重量I 有什么不同? 例子更复杂了.(虽然不知道复杂在哪里) 这道 ...
最新文章
- 机器人学习--栅格地图(occupancy grid map)构建(部分代码解析)
- openj9下载_Quarkus on OpenJ9 JVM和资源消耗
- 武大计算机几天出录取结果,录取大概要几天 多久录取结果出来
- 2021年中国自有品牌行业发展白皮书
- Cortex-M3复位序列
- concurrent.futures 使用及解析
- 从零开始学习OpenCL开发(二)一个最简单的示例与简单性能分析
- 毕业设计-基于stm32的校园旧物回收系统
- 《Android框架揭秘》——2.4节开发Android应用程序
- 路由器最高速度/性能测试 - Windows 安装 IPerf3 及 使用方法
- android enable ipv6,安卓开启ipv6网络支持小米手机(miui)IPv6无法使用的问题
- 解决Android部分手机图片剪切返回崩溃问题
- python春节对客流量的影响_春节对经济的影响
- 【高等数学】定积分的应用
- 线极化波的matlab仿真过程,基于MATLAB的电磁波极化波仿真教学
- mac连接服务器打不开网页,Mac电脑联接网络但是浏览器打不开网页
- mac安装java开发环境-包含JDK、Maven、Svn、Idea
- 国内外云ERP市场厂商大盘点
- Hexo接入Google adsense广告
- 10组团队项目-Alpha冲刺-1/6
热门文章
- float数据在计算机内存中的存储方法
- 为什么析构函数可以能声明为虚函数,构造函数不可以
- ios手机 php无法上传文件,【已解决】uni.uploadFile 苹果ios图片上传不成功
- 树莓派3B+学习笔记:4、查看GPIO
- sql 查讯本日 本周 本月
- 仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG)
- 如何利用openSsl来计算一个文件的md5值?
- C++中virtual关键字的用法
- Intent传递数据时,可以传递哪些类型数据
- JVM GC调优总结 -Xms -Xmx -Xmn -Xss