LeetCode 6071. 完成所有任务需要的最少轮数
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 6071. 完成所有任务需要的最少轮数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給你一個下標從 0 開始的整數數組 tasks ,其中 tasks[i] 表示任務的難度級別。
在每一輪中,你可以完成 2 個或者 3 個 相同難度級別 的任務。
返回完成所有任務需要的 最少 輪數,如果無法完成所有任務,返回 -1 。
示例 1: 輸入:tasks = [2,2,3,3,2,4,4,4,4,4] 輸出:4 解釋:要想完成所有任務,一個可能的計劃是: - 第一輪,完成難度級別為 2 的 3 個任務。 - 第二輪,完成難度級別為 3 的 2 個任務。 - 第三輪,完成難度級別為 4 的 3 個任務。 - 第四輪,完成難度級別為 4 的 2 個任務。 可以證明,無法在少于 4 輪的情況下完成所有任務,所以答案為 4 。示例 2: 輸入:tasks = [2,3,3] 輸出:-1 解釋:難度級別為 2 的任務只有 1 個,但每一輪執行中,只能選擇完成 2 個或者 3 個相同難度級別的任務。因此,無法完成所有任務,答案為 -1 。提示: 1 <= tasks.length <= 10^5 1 <= tasks[i] <= 10^9來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/minimum-rounds-to-complete-all-tasks
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 計數不同難度的數字的個數
- 對每個數量進行考慮:1不能完成,其他的數字對 3 進行求余
- 余數是0,直接每次3個,余數是1,先用兩個2,剩余的每次3個,余數是2,先用一個2,剩余的每次3個
112 ms 30.8 MB Python3
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 6071. 完成所有任务需要的最少轮数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 上下文管理器、 else
- 下一篇: LeetCode 2101. 引爆最多的