1046.有一堆石头,每块石头的重量都是正整数。

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

如果 x == y,那么两块石头都会被完全粉碎;
如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。
最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,就返回 0。

示例:

输入:[2,7,4,1,8,1]
输出:1
解释:
先选出 7 和 8,得到 1,所以数组转换为 [2,4,1,1,1],
再选出 2 和 4,得到 2,所以数组转换为 [2,1,1,1],
接着是 2 和 1,得到 1,所以数组转换为 [1,1,1],
最后选出 1 和 1,得到 0,最终数组转换为 [1],这就是最后剩下那块石头的重量。

提示:

1 <= stones.length <= 30
1 <= stones[i] <= 1000

import heapq
class Solution:def lastStoneWeight(self, stones: List[int]) -> int:# 方法二:小顶堆if len(stones) == 0:return 0while len(stones) >= 1:if len(stones) < 2:breakls = heapq.nlargest(2,stones)stones.remove(ls[0])stones.remove(ls[1])stones.append(ls[0] - ls[1])return stones[0]


【leetcode】1046.有一堆石头,每块石头的重量都是正整数相关推荐

  1. LeetCode 1046. 最后一块石头的重量(priority_queue 堆)

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

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

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

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

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

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

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

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

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

  6. LeetCode简单题之最后一块石头的重量

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

  7. leetcode——第1049题——最后一块石头的重量

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

  8. 小狗扫地机器人与石头_石头扫地机器人P5评测:躺着把地扫干净,再也不怕哈士奇拆屋...

    石头扫地机器人P5评测:躺着把地扫干净,再也不怕哈士奇拆屋 2020-03-24 16:17:51 0点赞 4收藏 0评论 #我和罗永浩的带货挑战赛#征稿活动火热进行中.评测罗永浩直播清单中的商品,成 ...

  9. 扫地机器人黑色耐脏吗_扫地机买什么 篇七:中秋送礼 我最后选择了黑色的石头:石头扫地机近一年使用心得 与 S55黑色版开箱...

    扫地机买什么 篇七:中秋送礼 我最后选择了黑色的石头:石头扫地机近一年使用心得 与 S55黑色版开箱 2018-09-17 10:15:42 37点赞 80收藏 51评论 小编注:想获得更多专属福利吗 ...

最新文章

  1. 【radar】毫米波雷达相关开源项目代码汇总(工具箱、仿真、2D毫米波检测、融合、4D毫米波检测、分割、SLAM、跟踪)(6)
  2. Python Web学习笔记之TCP的3次握手与4次挥手过程
  3. mongodb导出查询结果
  4. IOS之storyBoard的storyboard_reference的使用
  5. 计算机编程要哪方面天赋,编程要哪门子天赋
  6. laravel框架的数据库链接
  7. eigen库安装_OpenCV+Eigen上位机程序移植(七十一)
  8. java获取net地址 本机
  9. 继承的原理java_Java继承和多态的原理
  10. http://www.jb51.net/article/51934.htm
  11. 零基础学会数据分析计划
  12. matplotlib画的图保存为emf格式
  13. mac11.6 安装JD-GUI
  14. openGauss 训练营第三期结营啦!PPT 85个FAQ大放送!文末附51位结营学员名单
  15. 信息安全快讯丨一起为亚运健儿加油!
  16. gnome-screenshot截屏快捷启动
  17. 又一家初创公司获得数千万融资进军边缘计算赛道!
  18. 创易手机--真正DIY手机
  19. GOM GEE引擎的传奇SF“怪物召唤卷”功能脚本实例分享
  20. Mybatis日志源码探究

热门文章

  1. 微软出品优秀软件推荐
  2. emacs+prelude问题配置
  3. oracle纸质许可证,收不到纸质证书或者有任何问题都可以请求oracle帮助
  4. kubeadm安装单机k8s
  5. 国有企业利润突破9000亿的喜与忧
  6. windows cmd 命令行 切换屏幕
  7. android popupmenu 自定义样式,如何更改Android PopupMenu宽度
  8. 焦作大学计算机应用技术代码,焦作大学专业代码
  9. Docker容器下 mysql source 导入数据库
  10. TLE4274G V50是一款低压降稳压器,采用TO220,TO252和TO263封装——科时进商城