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) 模拟+优先队列。

相关推荐
又是忙碌的一天几秒前
八大排序之:冒泡排序、快速排序和堆排序
数据结构·算法·排序算法
hkhkhkhkh1232 分钟前
Linux 内核三大核心结构体详解(驱动开发视角)
linux·数据结构·驱动开发·字符设备
一直都在57218 分钟前
数据结构入门:哈希表和树结构
数据结构·算法·散列表
宵时待雨18 分钟前
C语言笔记归纳19:动态内存管理
java·开发语言·算法
喇一渡渡22 分钟前
Java力扣---滑动窗口(2)
算法·leetcode·职场和发展
智驱力人工智能25 分钟前
山区搜救无人机人员检测算法 技术攻坚与生命救援的融合演进 城市高空无人机人群密度分析 多模态融合无人机识别系统
人工智能·深度学习·算法·架构·无人机·边缘计算
郝学胜-神的一滴38 分钟前
OpenGL中的glDrawArrays函数详解:从基础到实践
开发语言·c++·程序人生·算法·游戏程序·图形渲染
_OP_CHEN39 分钟前
【算法基础篇】(三十四)图论基础深度解析:从概念到代码,玩转图的存储与遍历
算法·蓝桥杯·图论·dfs·bfs·算法竞赛·acm/icpc
Lv11770081 小时前
Visual Studio 中的 ArrayList数组 和 List数组
数据结构·笔记·c#·list·visual studio
王璐WL1 小时前
【数据结构】栈和队列及相关算法题
数据结构·算法