Leetcode—2244. 完成所有任务需要的最少轮数【中等】

2024每日刷题(136)

Leetcode---2244. 完成所有任务需要的最少轮数

实现代码

cpp 复制代码
class Solution {
public:
    int minimumRounds(vector<int>& tasks) {
        unordered_map<int, int> map;
        for(int task: tasks) {
            map[task]++;
        }
        int ans = 0;

        // freq = 1 -> it's impossible
        // freq = 2 -> needs 1 round
        // freq = 3 -> needs 1 round
        // freq = 3k                           -> needs k rounds
        // freq = 3k + 1 = 3 * (k - 1) + 2 * 2 -> needs k + 1 rounds
        // freq = 3k + 2 = 3 * k       + 2 * 1 -> needs k + 1 rounds
        for(auto [_, freq]: map) {
            if(freq == 1) {
                return -1;
            } else {
                ans += (freq + 2) / 3;
            }
        }
        return ans;
    }
};

运行结果


之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
LYS_06185 分钟前
寒假学习(7)(C语言7+模数电7)
c语言·学习·算法
砚边数影10 分钟前
逻辑回归实战(二):Java + DL4J 实现模型,评估指标(准确率/召回率)计算
java·数据库·算法·机器学习·逻辑回归·金仓数据库
Cher ~11 分钟前
【数据结构】hash表(unordered_map)
java·数据结构·c++·算法·哈希算法
一起养小猫11 分钟前
Flutter for OpenHarmony 实战:食物生成算法与难度递增系统
算法·flutter
u01092727119 分钟前
自定义类型转换机制
开发语言·c++·算法
hetao173383719 分钟前
2026-01-27 hetao1733837 的刷题笔记
c++·笔记·算法
爱吃生蚝的于勒21 分钟前
【Linux】进程信号的产生(一)
linux·运维·服务器·c语言·开发语言·数据结构·c++
Tisfy32 分钟前
LeetCode 3650.边反转的最小路径总成本:Dijkstra算法
算法·leetcode··dijkstra·题解·迪杰斯特拉
2401_8384725134 分钟前
自定义操作符重载指南
开发语言·c++·算法
v_for_van36 分钟前
单片机内存分配管理笔记
开发语言·c++·笔记·vscode·stm32·单片机·嵌入式硬件