解題思路
用公式計算。
程式碼
class Solution { public: int leastInterval(vector<char>& tasks, int n) { if(n == 0) return tasks.size(); int arr[26] = {0}, maxTask = 0, maxTaskCount = 0; for(int i=0; i<tasks.size(); i++) { arr[tasks[i] - 'A']++; maxTask = max(maxTask, arr[tasks[i] - 'A']); } for(int i=0; i<26; i++) { if(arr[i] == maxTask) maxTaskCount++; } int ans = (n+1) * (maxTask-1) + maxTaskCount; return max((int)tasks.size(), ans); } };
沒有留言:
張貼留言