2023-10-18 LeetCode每日一题(执行 K 次操作后的最大分数)

2023-10-18每日一题

一、题目编号

复制代码
2530. 执行 K 次操作后的最大分数

二、题目链接

点击跳转到题目位置

三、题目描述

给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。你的 起始分数 为 0 。

在一步 操作 中:

  1. 选出一个满足 0 <= i < nums.length 的下标 i ,
  2. 将你的 分数 增加 nums[i] ,并且
  3. 将 nums[i] 替换为 ceil(nums[i] / 3) 。

返回在 恰好 执行 k 次操作后,你可能获得的最大分数。

向上取整函数 ceil(val) 的结果是大于或等于 val 的最小整数。

示例 1:

示例 2:

提示:

  • 1 <= nums.length, k <= 105
  • 1 <= nums[i] <= 109

四、解题代码

cpp 复制代码
class Solution {
public:
    long long maxKelements(vector<int>& nums, int k) {
        priority_queue<int> q(nums.begin(), nums.end());
        long long ans = 0;
        for (int i = 0; i < k; ++i) {
            int x = q.top();
            q.pop();
            ans += x;
            q.push((x + 2) / 3);
        }
        return ans;
    }
};

五、解题思路

(1) 模拟+优先队列。

相关推荐
Davis_12194 分钟前
代码随想录算法训练营27天 | 56. 合并区间、738.单调递增的数字、968.监控二叉树(提高)
数据结构·c++·算法·leetcode·贪心算法
闻缺陷则喜何志丹5 分钟前
【倍增 桶排序】后缀数组
c++·算法·倍增·桶排序·后缀数组·lcp·后缀树
Korloa2 小时前
表达式(CSP-J 2021-Expr)题目详解
c语言·开发语言·数据结构·c++·算法·蓝桥杯·个人开发
手握风云-2 小时前
回溯剪枝的 “减法艺术”:化解超时危机的 “救命稻草”(一)
算法·机器学习·剪枝
屁股割了还要学2 小时前
【数据结构入门】排序算法:插入排序
c语言·开发语言·数据结构·算法·青少年编程·排序算法
农场主John3 小时前
(栈)Leetcode155最小栈+739每日温度
windows·python·算法·leetcode·
MicroTech20253 小时前
微算法科技(NASDAQ: MLGO)研究分片技术:重塑区块链可扩展性新范式
算法·区块链
小五1273 小时前
机器学习聚类算法
算法·机器学习·聚类
艾莉丝努力练剑3 小时前
【C语言16天强化训练】从基础入门到进阶:Day 5
c语言·c++·学习·算法
尤超宇4 小时前
基于随机森林的红酒分类与特征重要性分析
算法·随机森林·分类