LeetCode 1962. 移除石子使总数最小(优先队列)

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

给你一个整数数组 piles ,数组 下标从 0 开始 ,其中 piles[i] 表示第 i 堆石子中的石子数量。
另给你一个整数 k ,请你执行下述操作 恰好 k 次

选出任一石子堆 piles[i] ,并从中 移除 floor(piles[i] / 2) 颗石子。
注意:你可以对 同一堆 石子多次执行此操作。

返回执行 k 次操作后,剩下石子的 最小 总数

floor(x) 为 小于 或 等于 x 的 最大 整数。(即,对 x 向下取整)。

示例 1:
输入:piles = [5,4,9], k = 2
输出:12
解释:可能的执行情景如下:
- 对第 2 堆石子执行移除操作,石子分布情况变成 [5,4,5]- 对第 0 堆石子执行移除操作,石子分布情况变成 [3,4,5] 。
剩下石子的总数为 12 。示例 2:
输入:piles = [4,3,6,7], k = 3
输出:12
解释:可能的执行情景如下:
- 对第 2 堆石子执行移除操作,石子分布情况变成 [4,3,3,7]- 对第 3 堆石子执行移除操作,石子分布情况变成 [4,3,3,4]- 对第 0 堆石子执行移除操作,石子分布情况变成 [2,3,3,4] 。
剩下石子的总数为 12 。提示:
1 <= piles.length <= 10^5
1 <= piles[i] <= 10^4
1 <= k <= 10^5

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/remove-stones-to-minimize-the-total
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 优先队列,总是拿剩余最多的一堆
class Solution {
public:int minStoneSum(vector<int>& piles, int k) {priority_queue<int> q(piles.begin(), piles.end());while(k--){int w = q.top();if(w == 1)return q.size();q.pop();q.push(w-w/2);}int ans = 0;while(!q.empty()){ans += q.top();q.pop();}return ans;}
};

524 ms 96.5 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

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

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

相关文章

ubuntu自定义安装里怎么选_中央空调到底应该怎么选?小户型也能安装中央空调?行家说实话了...

▲ 点击蓝字“建通舒适家”&#xff0c;你想知道的空调问题&#xff0c;答案全在这里啦&#xff01;中央空调到底应该怎么选&#xff1f;小户型也能安装中央空调&#xff1f;行家说实话了现在业主装修大多都是对中央控空调一知半解&#xff0c;出现很多种的情况就是&#xff1a…

php辅助框架,【PHP开发框架】Laravel框架中辅助函数:optional ()函数的介绍

laravel框架中的辅助函数有很多&#xff0c;那么&#xff0c;在 Laravel 新版本中又有什么非常好用的辅助函数呢&#xff1f;接下来的这篇文章中&#xff0c;ki4网将给大家介绍一个非常有用的辅助方法&#xff1a;optional()函数&#xff0c;这个函数的用处到底是什么呢&#x…

python 清除字符串中的 emoji 表情

https://pypi.org/project/emoji/ pip install emoji字符串中间有 emoji 表情&#xff0c;替换掉。 text "&#x1f430;贝贝有点甜&#x1f430;" res emoji.demojize(text) # :rabbit_face:贝贝有点甜:rabbit_face:# 正则表达式替换为 r"想换的字符串&quo…

Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键

这是本人测试的经过&#xff0c;纯粹记录来看看&#xff0c;最终解决方法在最后面&#xff0c;中间讲的是遇到的一些坑&#xff0c;可以略过不看&#xff01;&#xff01; 本人操作经验&#xff0c;转载请表明出处&#xff1a;http://www.cnblogs.com/huangjc/p/4536620.html L…

三角形css_纯 CSS 实现绘制各种三角形(各种角度)

一、前言三角形实现原理&#xff1a;宽度width为0&#xff1b;height为0&#xff1b;&#xff08;1&#xff09;有一条横竖边&#xff08;上下左右&#xff09;的设置为border-方向&#xff1a;长度 solid red&#xff0c;这个画的就是底部的直线。其他边使用border-方向&#…

java 排秩,lamd(java lambda表达式)

lamb n.羔羊&#xff0c; 小羊羔羊肉[皮](对孩子等的爱称)好宝宝&#xff0c; 小乖乖年幼、天真无邪的人&#xff1b; 羔羊般柔弱[温顺]的人[俚]容易上当的人(尤指在证券交易方面)[the Lamb ]【宗.lamd是什么意思land n. 国土&#xff1b;陆地&#xff1b;地面lamb n. 羔羊&…

LeetCode 1826. 有缺陷的传感器(枚举)

文章目录1. 题目2. 解题1. 题目 实验室里正在进行一项实验。为了确保数据的准确性&#xff0c;同时使用 两个 传感器来采集数据。 您将获得2个数组 sensor1 and sensor2&#xff0c;其中 sensor1[i] 和 sensor2[i] 分别是两个传感器对第 i 个数据点采集到的数据。 但是&#…

今天携程出事了:让我们来学习下http的响应码

就在今天&#xff0c;2015年5月28日&#xff0c;中国最大的旅游机票预订网站--携程网粗大事了。据传携程网的数据库被人物理删除了&#xff0c;而容灾备份的数据又无法正常使用&#xff0c;服务器全面遭受瘫痪。每小时给携程带来的损失约100万美元。巴拉巴拉&#xff0c;作为中…

java 删除txt,如何从.txt文件中删除2个值

if "A" in columns and int(columns[5]) < int(columns[3]):print(columns)print (columns[3]) - (columns[5])我在这做错了什么&#xff1f;不记得我最近开始编码 .这是完整的代码&#xff1a;import csvFILE_NAME "paintingJobs.txt" #I use this so…

LeetCode 1708. 长度为 K 的最大子数组

文章目录1. 题目2. 解题1. 题目 在数组 A 和数组 B 中&#xff0c;对于第一个满足 A[i] ! B[i] 的索引 i &#xff0c;当 A[i] > B[i] 时&#xff0c;数组 A 大于数组 B。 例如&#xff0c;对于索引从 0 开始的数组&#xff1a; [1,3,2,4] > [1,2,2,4] &#xff0c;因…

CSS3(animation, trasfrom)总结

CSS3(animation, trasfrom)总结 1. Animation 样式写法: 格式: -浏览器内核-keyframes 样式名 {} 标准写法(chrome safari不支持 keyframes [样式名] { 0% {left: 10px ; top : 20px;} 50% {left: 20px ; top : 30px;} 100% {left: 10px ; top : 20px;} }; Firefox -mz-keyfra…

LeetCode 1554. 只有一个不同字符的字符串(枚举)

文章目录1. 题目2. 解题1. 题目 给定一个字符串列表 dict &#xff0c;其中所有字符串的长度都相同。 当存在两个字符串在相同索引处只有一个字符不同时&#xff0c;返回 True &#xff0c;否则返回 False 。 进阶&#xff1a;你可以以 O(n*m) 的复杂度解决问题吗&#xff1…

matlab多径信道模型,多径时变信道模型的仿真与性能分析课程设计(样例3)

《多径时变信道模型的仿真与性能分析课程设计.doc》由会员分享&#xff0c;可免费在线阅读全文&#xff0c;更多与《多径时变信道模型的仿真与性能分析课程设计》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、形与输入信号波形越接近。因为信道幅频特性不理…

slice 转byte go_一文告诉你神奇的Go内建函数源码在哪里

Go内建函数源码&#xff0c;我好像在哪里见过你。 - 佚名1. 何为Go内建函数众所周知&#xff0c;Go是最简单的主流编程语言之一&#xff0c;截至Go 1.15版本&#xff0c;Go语言的关键字的规模依旧保持在25个&#xff1a;很多刚入门的gopher可能会问&#xff1a;像bool、byte、e…

modelsim 的高效使用

大概的思路&#xff1a; 1、往modelsim 添加仿真库。 2、将Verilog 文件&#xff0c;testbench文件提出。建好文件夹。比如uart仿真&#xff1a; uart_sim文件夹下&#xff1a;rtl文件夹&#xff0c;test_bench文件夹。test_bench文件夹下sim文件夹。 3、打开modelsim&#xff…

LeetCode 1586. 二叉搜索树迭代器 II(数组+栈)

文章目录1. 题目2. 解题1. 题目 实现二叉搜索树&#xff08;BST&#xff09;的中序遍历迭代器 BSTIterator 类&#xff1a; BSTIterator(TreeNode root) 初始化 BSTIterator 类的实例。 二叉搜索树的根节点 root 作为构造函数的参数传入。 内部指针使用一个不存在于树中且小于…

双光耦开关电源电路图_开关电源光耦的工作原理及典型接法

在一般的隔离电源中&#xff0c;光耦隔离反馈是一种简单、低成本的方式。但对于光耦反馈的各种连接方式及其区别&#xff0c;目前尚未见到比较深入的研究。而且在很多场合下&#xff0c;由于对光耦的工作原理理解不够深入&#xff0c;光耦接法混乱&#xff0c;往往导致电路不能…

LeetCode 1570. 两个稀疏向量的点积(哈希)

文章目录1. 题目2. 解题1. 题目 给定两个稀疏向量&#xff0c;计算它们的点积&#xff08;数量积&#xff09;。 实现类 SparseVector&#xff1a; SparseVector(nums) 以向量 nums 初始化对象。dotProduct(vec) 计算此向量与 vec 的点积。 稀疏向量 是指绝大多数分量为 0 …

matlab 中序列求极值的方法,Matlab中求序列的极值

我们知道&#xff0c;在Matlab中有专门求序列最大值和最小值的函数&#xff0c;分别是Max 和 Min&#xff0c;但是有时候我们不满足于求整个序列的最值&#xff0c;而是对序列的极值&#xff0c;也就是局部的最值感兴趣。对于解析函 数&#xff0c;这个比较简单&#xff0c;只要…

oracle rank 语法_oracle rank函数怎么用

首先创建示例表&#xff0c;再初始化几条测试数据create table t_score(id number primary key,student_id number(3),student_name char(8) not null,sub_name varchar2(20),score number(10,2));insert into t_score (id, student_id, student_name, sub_name, score)values…