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

运行结果


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

相关推荐
2501_941236217 分钟前
C++与Node.js集成
开发语言·c++·算法
晨非辰9 分钟前
【数据结构初阶系列】归并排序全透视:从算法原理全分析到源码实战应用
运维·c语言·数据结构·c++·人工智能·python·深度学习
云边有个稻草人3 小时前
部分移动(Partial Move)的使用场景:Rust 所有权拆分的精细化实践
开发语言·算法·rust
雷神大青椒5 小时前
离别的十字路口: 是否还记得曾经追求的梦想
人工智能·程序人生·职场和发展·玩游戏
松涛和鸣5 小时前
11.C 语言学习:递归、宏定义、预处理、汉诺塔、Fibonacci 等
linux·c语言·开发语言·学习·算法·排序算法
2501_941111246 小时前
C++与自动驾驶系统
开发语言·c++·算法
2501_941111696 小时前
C++中的枚举类高级用法
开发语言·c++·算法
jz_ddk7 小时前
[算法] 算法PK:LMS与RLS的对比研究
人工智能·神经网络·算法·信号处理·lms·rls·自适应滤波
Miraitowa_cheems7 小时前
LeetCode算法日记 - Day 106: 两个字符串的最小ASCII删除和
java·数据结构·算法·leetcode·深度优先
旭编7 小时前
小红的好矩形
c++·算法