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;
    }
};

运行结果


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

相关推荐
努力学算法的蒟蒻7 分钟前
day35(12.16)——leetcode面试经典150
算法·leetcode·面试
cccc来财14 分钟前
角点检测算法:Harris 和 FAST 方法
算法·计算机视觉·特征提取
风中月隐20 分钟前
C语言中以坐标的方式图解“字母金字塔”的绘制
c语言·开发语言·算法·字母金子塔·坐标图解法
崇山峻岭之间20 分钟前
C++ Prime Plus 学习笔记041
c++·笔记·学习
q_302381955621 分钟前
告别“笨重”检测!VA-YOLO算法让疲劳驾驶识别更轻更快更准
算法·yolo
_风华ts23 分钟前
虚函数与访问权限
c++
1001101_QIA27 分钟前
C++中不能复制只能移动的类型
开发语言·c++
松涛和鸣33 分钟前
DAY32 Linux Thread Programming
linux·运维·数据库·算法·list
LYFlied37 分钟前
【每日算法】LeetCode 234. 回文链表详解
算法·leetcode·链表
闻缺陷则喜何志丹38 分钟前
【组合数学】P9418 [POI 2021/2022 R1] Impreza krasnali|普及+
c++·数学·组合数学