← Divide & Conquer

Micro-Drill #143 — Task scheduler greedy

Divide & Conquer Target: 10s

Greedy formula: max count drives idle slots. Total time = max(n_tasks, (max_freq-1)*(n+1) + max_count).

freq = Counter(tasks)
mx = max(freq.values())
mx_cnt = sum(1 for v in freq.values() if v == mx)
return max(len(tasks), (mx - 1) * (n + 1) + mx_cnt)

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #142 Micro #144 →