力扣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) );
      }
  };
相关推荐
OTWOL2 分钟前
两道数组有关的OJ练习题
c语言·开发语言·数据结构·c++·算法
不惑_21 分钟前
List 集合安全操作指南:避免 ConcurrentModificationException 与提升性能
数据结构·安全·list
qq_4335545429 分钟前
C++ 面向对象编程:递增重载
开发语言·c++·算法
带多刺的玫瑰1 小时前
Leecode刷题C语言之切蛋糕的最小总开销①
java·数据结构·算法
巫师不要去魔法部乱说1 小时前
PyCharm专项训练5 最短路径算法
python·算法·pycharm
qystca2 小时前
洛谷 P11242 碧树 C语言
数据结构·算法
冠位观测者2 小时前
【Leetcode 热题 100】124. 二叉树中的最大路径和
数据结构·算法·leetcode
XWXnb62 小时前
数据结构:链表
数据结构·链表
悲伤小伞2 小时前
C++_数据结构_详解二叉搜索树
c语言·数据结构·c++·笔记·算法
m0_675988233 小时前
Leetcode3218. 切蛋糕的最小总开销 I
c++·算法·leetcode·职场和发展