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

运行结果


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

相关推荐
博语小屋32 分钟前
力扣 15.三数之和(medium)(双指针)
算法·leetcode·职场和发展
无敌最俊朗@37 分钟前
双指针-力扣hot100-移动零.283
算法·leetcode·职场和发展
练习时长一年39 分钟前
LeetCode热题100(腐烂的橘子)
算法·leetcode·职场和发展
Тиё Сиротака6 小时前
红包分配算法的严格数学理论与完整实现
算法
“αβ”7 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
potato_may7 小时前
链式二叉树 —— 用指针构建的树形世界
c语言·数据结构·算法·链表·二叉树
十五年专注C++开发7 小时前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2
gcfer7 小时前
CS144 中的C++知识积累
c++·右值引用·智能指针·optional容器
java修仙传7 小时前
每日一题,力扣560. 和为 K 的子数组
算法·leetcode
ada7_8 小时前
LeetCode(python)——148.排序链表
python·算法·leetcode·链表