Skip to content

taskScheduler

输入配置

执行过程

步骤 1 / 4
统计任务频率
任务频率统计
A
× 3
B
× 3

算法说明

任务调度器:相同任务间需要n个冷却时间。使用贪心策略,公式:(maxFreq-1)×(n+1)+maxCount。时间复杂度O(n)。

任务调度器 - 计算完成所有任务所需的最少时间。

函数签名

typescript
function leastInterval(tasks: string[], n: number): number

参数

参数名类型必填说明
tasksstring[]任务数组
nnumber冷却时间

返回值

类型说明
number最少时间单位

工作原理

使用贪心策略:

  1. 统计每个任务的频率
  2. 找出最大频率maxFreq和达到最大频率的任务数maxCount
  3. 计算最少时间: (maxFreq-1) × (n+1) + maxCount
  4. 结果至少是任务总数

时间复杂度: O(n)
空间复杂度: O(1)