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

运行结果


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

相关推荐
蒲小英10 分钟前
算法-贪心算法
算法·贪心算法
Alpha first11 分钟前
C++核心知识点梳理:类型兼容、多继承与虚基类
开发语言·c++
.小小陈.11 分钟前
C++初阶9:list使用攻略
开发语言·c++·学习·list
mit6.82413 分钟前
链式投票|流向贪心
算法
君义_noip30 分钟前
洛谷 P4777 【模板】扩展中国剩余定理(EXCRT)
算法·数论·信息学奥赛·csp-s
天赐学c语言30 分钟前
12.14 - 搜索旋转排序数组 && 判断两个结构体是否相等
数据结构·c++·算法·leecode
1024肥宅1 小时前
JavaScript 性能与优化:数据结构和算法
前端·数据结构·算法
Heart_to_Yang1 小时前
Telnet 调试屏幕输出信息卡死问题解决
网络·windows·经验分享
超自然祈祷1 小时前
水声相关公式C++实现
开发语言·c++
kaikaile19951 小时前
MATLAB 灰度图像的二维傅里叶变换
算法·计算机视觉·matlab