欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode621.任务调度器(java)

程序员文章站 2022-06-05 18:59:29
...

题目
leetcode621.任务调度器(java)
这道题也挺有意思的。

如果题目有提到使用大写字母,或者小写字母表示balabala的,都可以考虑用一个new int[26]的数组来存。

class Solution {
    public int leastInterval(char[] tasks, int n) {
        int[] map = new int[26];
        for(char ch : tasks){
            map[ch-'A']++;
        }
        Arrays.sort(map);
        int max_task = map[25]-1, idle_slots = max_task*n;
        for(int i = 24;i >= 0 && map[i] > 0;i--){
            idle_slots -= Math.min(map[i],max_task);
        }
        return idle_slots > 0? idle_slots+tasks.length:tasks.length;
    }
}

参考官方题解

相关标签: leetcode