【leetcode】1046.有一堆石头,每块石头的重量都是正整数
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.有一堆石头,每块石头的重量都是正整数相关推荐
- LeetCode 1046. 最后一块石头的重量(priority_queue 堆)
1. 题目 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块最重的石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x ...
- 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.那么粉碎的可能结果如下: ...
- LeetCode简单题之最后一块石头的重量
题目 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x = ...
- leetcode——第1049题——最后一块石头的重量
题目: 有一堆石头,每块石头的重量都是正整数. 每一回合,从中选出任意两块石头,然后将它们一起粉碎.假设石头的重量分别为 x 和 y,且 x <= y.那么粉碎的可能结果如下: 如果 x == ...
- 小狗扫地机器人与石头_石头扫地机器人P5评测:躺着把地扫干净,再也不怕哈士奇拆屋...
石头扫地机器人P5评测:躺着把地扫干净,再也不怕哈士奇拆屋 2020-03-24 16:17:51 0点赞 4收藏 0评论 #我和罗永浩的带货挑战赛#征稿活动火热进行中.评测罗永浩直播清单中的商品,成 ...
- 扫地机器人黑色耐脏吗_扫地机买什么 篇七:中秋送礼 我最后选择了黑色的石头:石头扫地机近一年使用心得 与 S55黑色版开箱...
扫地机买什么 篇七:中秋送礼 我最后选择了黑色的石头:石头扫地机近一年使用心得 与 S55黑色版开箱 2018-09-17 10:15:42 37点赞 80收藏 51评论 小编注:想获得更多专属福利吗 ...
最新文章
- 【radar】毫米波雷达相关开源项目代码汇总(工具箱、仿真、2D毫米波检测、融合、4D毫米波检测、分割、SLAM、跟踪)(6)
- Python Web学习笔记之TCP的3次握手与4次挥手过程
- mongodb导出查询结果
- IOS之storyBoard的storyboard_reference的使用
- 计算机编程要哪方面天赋,编程要哪门子天赋
- laravel框架的数据库链接
- eigen库安装_OpenCV+Eigen上位机程序移植(七十一)
- java获取net地址 本机
- 继承的原理java_Java继承和多态的原理
- http://www.jb51.net/article/51934.htm
- 零基础学会数据分析计划
- matplotlib画的图保存为emf格式
- mac11.6 安装JD-GUI
- openGauss 训练营第三期结营啦!PPT 85个FAQ大放送!文末附51位结营学员名单
- 信息安全快讯丨一起为亚运健儿加油!
- gnome-screenshot截屏快捷启动
- 又一家初创公司获得数千万融资进军边缘计算赛道!
- 创易手机--真正DIY手机
- GOM GEE引擎的传奇SF“怪物召唤卷”功能脚本实例分享
- Mybatis日志源码探究