美文网首页
LeetCode 第621题:任务调度器

LeetCode 第621题:任务调度器

作者: 放开那个BUG | 来源:发表于2023-03-11 18:42 被阅读0次

    1、前言

    题目描述

    2、思路

    先找到次数最多的任务排好,其他任务插在中间,类似于这样:


    解题

    3、代码

    class Solution {
        public int leastInterval(char[] tasks, int n) {
            int[] cnts = new int[26];
            for(char c : tasks){
                cnts[c - 'A']++;
            }
            int max = 0, tot = 0;
            for(int i = 0; i < 26; i++){
                max = Math.max(max, cnts[i]);
            }
            for(int i = 0; i < 26; i++){
                tot += max == cnts[i] ? 1 : 0;
            }
    
            return Math.max(tasks.length, (n + 1) * (max - 1) + tot);
        }
    }
    

    相关文章

      网友评论

          本文标题:LeetCode 第621题:任务调度器

          本文链接:https://www.haomeiwen.com/subject/aecveltx.html