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 堆)相关推荐

  1. leetcode 1046 最后一块石头的重量

    1046. 最后一块石头的重量 难度简单98收藏分享切换为英文接收动态反馈 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x  ...

  2. leetcode 1046. 最后一块石头的重量(堆)

    有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x == y ...

  3. 力扣 leetcode 1046. 最后一块石头的重量 (python)

    Topic: 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 ...

  4. LeetCode[1046]最后一块石头的重量

    难度:简单 题目: 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: ...

  5. 2022-2-19 Leetcode 1046.最后一块石头的重量

    测试程序,觉得蛮对的.没有想明白错在哪里... #include<iostream> #include<vector> #include<string> #incl ...

  6. LeetCode 1049. 最后一块石头的重量 II(DP)

    1. 题目 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出任意两块石头,然后将它们一起粉碎. 假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x ...

  7. 力扣题解-1046. 最后一块石头的重量

    题目:1046. 最后一块石头的重量 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉 ...

  8. 1046. 最后一块石头的重量

    链接:1046. 最后一块石头的重量 题解: class Solution {public:int lastStoneWeight(vector<int>& stones) {st ...

  9. 2022-2-19 Leetcode 1049.最后一块石头的重量II

    例二分析:26+21-40 = 7 33-31 = 2 7-2 = 5 相当于小块石头集合之后一起去砸大石头. 这道题和最后一块石头的重量I 有什么不同? 例子更复杂了.(虽然不知道复杂在哪里) 这道 ...

最新文章

  1. 机器人学习--栅格地图(occupancy grid map)构建(部分代码解析)
  2. openj9下载_Quarkus on OpenJ9 JVM和资源消耗
  3. 武大计算机几天出录取结果,录取大概要几天 多久录取结果出来
  4. 2021年中国自有品牌行业发展白皮书
  5. Cortex-M3复位序列
  6. concurrent.futures 使用及解析
  7. 从零开始学习OpenCL开发(二)一个最简单的示例与简单性能分析
  8. 毕业设计-基于stm32的校园旧物回收系统
  9. 《Android框架揭秘》——2.4节开发Android应用程序
  10. 路由器最高速度/性能测试 - Windows 安装 IPerf3 及 使用方法
  11. android enable ipv6,安卓开启ipv6网络支持小米手机(miui)IPv6无法使用的问题
  12. 解决Android部分手机图片剪切返回崩溃问题
  13. python春节对客流量的影响_春节对经济的影响
  14. 【高等数学】定积分的应用
  15. 线极化波的matlab仿真过程,基于MATLAB的电磁波极化波仿真教学
  16. mac连接服务器打不开网页,Mac电脑联接网络但是浏览器打不开网页
  17. mac安装java开发环境-包含JDK、Maven、Svn、Idea
  18. 国内外云ERP市场厂商大盘点
  19. Hexo接入Google adsense广告
  20. 10组团队项目-Alpha冲刺-1/6

热门文章

  1. float数据在计算机内存中的存储方法
  2. 为什么析构函数可以能声明为虚函数,构造函数不可以
  3. ios手机 php无法上传文件,【已解决】uni.uploadFile 苹果ios图片上传不成功
  4. 树莓派3B+学习笔记:4、查看GPIO
  5. sql 查讯本日 本周 本月
  6. 仿WINDWS无限级Ajax菜单树升级1.3版(修补了严重BUG)
  7. 如何利用openSsl来计算一个文件的md5值?
  8. C++中virtual关键字的用法
  9. Intent传递数据时,可以传递哪些类型数据
  10. JVM GC调优总结 -Xms -Xmx -Xmn -Xss