Re: [閒聊] 每日LeetCode

看板Marginalman作者 (麵包屌)時間2年前 (2023/01/04 10:07), 編輯推噓2(201)
留言3則, 3人參與, 2年前最新討論串177/719 (看更多)
※ 引述《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
這就是rank2300以上的實力嗎 好強
01/04 12:06, 3F
文章代碼(AID): #1ZjDzueI (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ZjDzueI (Marginalman)