力扣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) );
      }
  };
相关推荐
yangpipi-几秒前
数据结构(C语言版)-2.栈和队列
c语言·开发语言·数据结构
bcbobo21cn3 分钟前
C语言不创建中间变量交换2个数
数据结构·异或·交换2数
还在学习进步3 分钟前
C语言第九周课——经典算法
c语言·开发语言·算法
阿七想学习5 分钟前
数据结构《链表》
java·开发语言·数据结构·学习·链表
Yaml46 分钟前
Java的六大排序
java·算法·排序算法
九年义务漏网鲨鱼28 分钟前
【人脸伪造检测后门攻击】 Exploring Frequency Adversarial Attacks for Face Forgery Detection
论文阅读·python·算法·aigc
_OLi_34 分钟前
力扣 LeetCode 977. 有序数组的平方(Day1:数组)
数据结构·算法·leetcode
励志成为嵌入式工程师1 小时前
c语言选择排序
c语言·算法·排序算法
三小尛1 小时前
希尔排序(C语言)
c语言·数据结构·排序算法
風清掦1 小时前
C/C++每日一练:编写一个查找子串的位置函数
c语言·c++·算法