Re: [閒聊] 每日LeetCode
※ 引述《Rushia (みけねこ的鼻屎)》之銘言:
: 2244. Minimum Rounds to Complete All Tasks
: 給你一個陣列tasks表示一堆任務,task[i]表示第i個任務的難度,我們每一輪可以
: 完成2~3個同一種難度的任務,求出最少幾輪可以完成所有任務,若無法完成所有任
: 務則返回-1。
: Example:
: Input: tasks = [2,2,3,3,2,4,4,4,4,4]
: Output: 4
: Explanation:
: 第一輪可以做3個難度2的任務
: 第二輪可以做2個難度3的任務
: 第三輪可以做3個難度4的任務
: 第四輪可以做2個難度4的任務
: 最少需做四輪
: Input: tasks = [2,3,3]
: Output: -1
: Explanation:
: 第一輪可以做兩個難度3的任務
: 第二輪只剩下一個難度1的任務所以無法做完。
思路:
1.Python 直接 Counter()
2.把任務和完成次數列出來
任務量 1 2 3 4 5 6 7 8 9 10
次數 0 1 1 2 2 2 3 3 3 4
可以知道任務量 k >= 2 時完成次數為 (k+2)//3
Python code:
class Solution:
def minimumRounds(self, tasks: List[int]) -> int:
count = Counter(tasks)
res = 0
for v in count.values():
if v < 2:
return -1
res += (v + 2) // 3
return res
--
蛤?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.200.200 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1672798072.A.A12.html
推
01/04 10:08,
2年前
, 1F
01/04 10:08, 1F
→
01/04 10:08,
2年前
, 2F
01/04 10:08, 2F
推
01/04 12:06,
2年前
, 3F
01/04 12:06, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 177 之 719 篇):