problemscpp
A collection of my answers to algorithm problems in c++.
静态 Public 成员函数 | 所有成员列表
leetcode::task_scheduler::Solution类 参考

#include <leetcode.h>

静态 Public 成员函数

static int leastInterval (vector< char > &tasks, int n)
 

详细描述

在文件 leetcode.h2617 行定义.

成员函数说明

◆ leastInterval()

int leetcode::task_scheduler::Solution::leastInterval ( vector< char > &  tasks,
int  n 
)
static

在文件 leetcode.cpp7075 行定义.

7075 {
7076 if(n == 0) {
7077 return tasks.size();
7078 }
7079 int maximum = 0;
7080 int cycle = 0;
7081 unordered_map<char, int> task_cnt;
7082 unordered_map<char, int> processing;
7083 for(char task: tasks) {
7084 task_cnt[task]++;
7085 }
7086 while(true) {
7087 bool finished = true;
7088 maximum = 0;
7089 for(const auto &[task, cnt]: task_cnt) {
7090 if(cnt > 0) {
7091 finished = false;
7092 }
7093 if(processing[task] <= 0) {
7094 maximum = max(maximum, cnt);
7095 }
7096 }
7097 if(finished) {
7098 return cycle;
7099 }
7100 for(auto &[task, rest]: processing) {
7101 rest--;
7102 }
7103 for(auto &[task, cnt]: task_cnt) {
7104 if(maximum == cnt && processing[task] <= 0) {
7105 cnt--;
7106 processing[task] = n;
7107 break;
7108 }
7109 }
7110 cycle++;
7111 }
7112 }

被这些函数引用 leetcode::task_scheduler::TEST().


该类的文档由以下文件生成: