力扣621.任务调度器

力扣621.任务调度器

    • 桶思想
    • 当桶放不满时 答案为桶面积 maxcount(最后一行) + (max - 1)(n+1)
    • 当桶放的满时 答案为任务总数 tasks.size()
    • 最终两者取大即可
cpp 复制代码
  class Solution {
  public:
      int leastInterval(vector<char>& tasks, int n) {
          int len = tasks.size();
          vector<int> vec(26);
          for(char c:tasks) vec[c-'A']++;
          sort(vec.begin(),vec.end(),[](int &x,int &y){
              return x > y;
          });
          int cnt = 1;
          while(cnt < vec.size() && vec[cnt] == vec[0]) cnt ++;
          return max(len,cnt+(n+1)*(vec[0]-1) );
      }
  };
相关推荐
H Corey6 分钟前
Java--面向对象之继承与多态
java·开发语言·windows·学习·算法·intellij-idea
じ☆冷颜〃24 分钟前
交换代数的解析延拓及在CS的应用
c语言·数据结构·笔记·线性代数·密码学
永远都不秃头的程序员(互关)28 分钟前
【K-Means深度探索(三)】告别“初始陷阱”:K-Means++优化质心初始化全解析!
算法·机器学习·kmeans
程序员-King.31 分钟前
day136—快慢指针—重排链表(LeetCode-143)
算法·leetcode·链表·快慢指针
万行32 分钟前
差速两轮机器人位移与航向角增量计算
人工智能·python·算法·机器人
qq_3363139332 分钟前
java基础-多线程练习
java·开发语言·算法
不知名XL33 分钟前
day25 贪心算法 part03
算法·贪心算法
期待のcode1 小时前
Java虚拟机的垃圾回收器
java·开发语言·jvm·算法
星火开发设计1 小时前
C++ 分支结构:if-else 与 switch-case 的用法与区别
开发语言·c++·学习·算法·switch·知识·分支
txzrxz1 小时前
数据结构有关的题目(栈,队列,set和map)
数据结构·c++·笔记·算法··队列