做网站商城前景怎么样,wordpress外链批量保存本地,计算机网页设计实训报告,网站做水印有没有影响LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】 2244.完成所有任务需要的最少轮数方法#xff1a;哈希表贪心 2244.完成所有任务需要的最少轮数
方法#xff1a;哈希表贪心
用哈希表统计每个等级出现的次数 每次处理优先消费 3 个#xff0c;m % 3 后#… LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】 2244.完成所有任务需要的最少轮数方法哈希表贪心 2244.完成所有任务需要的最少轮数
方法哈希表贪心
用哈希表统计每个等级出现的次数 每次处理优先消费 3 个m % 3 后剩余数量只能为 012 因此对应的进行处理 若为 0 则说明 3 个 3 个的处理刚好处理完 若为 1 则说明 还剩下一个这种情况我们可以考虑成最后剩余了 4 个因此可以转化为 2 个 2 个 的处理因此最后结果 1 即可 若为 2 则说明最后再进行一次 2 个处理即可
class Solution {public int minimumRounds(int[] tasks) {HashMapInteger, Integer hm new HashMap();int len tasks.length;for (int i 0; i len; i ) {hm.put(tasks[i], hm.getOrDefault(tasks[i], 0) 1);}int ans 0;for (int v : hm.values()) {if (v 1) {return -1;} else {ans v / 3;// if (v % 3 2 || v % 3 1) ans ;if (v % 3 ! 0) ans ;}}return ans;}
}时间复杂度 O(n)
空间复杂度 O(n)