网站排名top排行榜快速开发平台免费版
网站排名top排行榜,快速开发平台免费版,保定网站搜索引擎优化,怎样生成链接文章目录1. 题目2. 解题1. 题目
给你一个下标从 0 开始的整数数组 tasks #xff0c;其中 tasks[i] 表示任务的难度级别。
在每一轮中#xff0c;你可以完成 2 个或者 3 个 相同难度级别 的任务。
返回完成所有任务需要的 最少 轮数#xff0c;如果无法完成所有任务…
文章目录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个
from collections import Counter
class Solution:def minimumRounds(self, tasks: List[int]) - int:d dict(Counter(tasks))nums d.values()if 1 in nums:return -1ans 0for num in nums:if num%3 0:ans num//3elif num%3 1:ans 2(num-4)//3elif num%3 2:ans 1(num-2)//3return ans112 ms 30.8 MB Python3 我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89679.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!