LeetCode每日一题----最少轮数:完成所有任务
发布时间
阅读量:
阅读量
LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】
- 2244.达成所有任务所需的最少轮次数
-
- 途径:采用哈希表结合贪心算法
-
任务完成最少轮数计算
哈希表与贪心算法结合应用
通过哈希表结构对各个等级的出现频次进行统计
在处理过程中,每次优先使用3个单位,当总数对3取余后,余数可能为0、1或2
针对不同的余数情况分别采取相应的处理方式
当余数为0时,表示所有数据均可被3整除,即能够完全按照每组3个的方式处理完毕
当余数为1时,意味着最终剩余一个单位,在这种情况下,可将其视为最后存在4个单位的情况,进而转换为以每组2个的方式进行处理,此时最终结果需额外加1
当余数为2时,则只需再进行一次每组2个的处理即可完成
class Solution {
public int minimumRounds(int[] tasks) {
HashMap<Integer, Integer> hm = new HashMap<>();
int len = tasks.length;
for (int i = 0; i < len; i ++ ) {
hm.put(tasks[i], hm.getOrDefa
全部评论 (0)
还没有任何评论哟~
