企业网站策划书制作,思途智旅游网站开发,几大网站类型,旅游商城网站模板文章目录1. 题目2. 解题1. 题目
给你一个整数数组 piles #xff0c;数组 下标从 0 开始 #xff0c;其中 piles[i] 表示第 i 堆石子中的石子数量。 另给你一个整数 k #xff0c;请你执行下述操作 恰好 k 次#xff1a;
选出任一石子堆 piles[i] #xff0c;并从中 移除…
文章目录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(vectorint piles, int k) {priority_queueint 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阿明一起加油、一起学习进步