

思路
自己的思路:首先用哈希表统计出每个任务的数量,若有任务数量为1说明无法完成。对于其他的任务,通过找规律:
- 任务量为2:1轮完成
- 任务量为3:1轮完成
- 任务量为4:2轮完成
- 任务量为5:2轮完成
- 任务量为6:2轮完成
- 任务量为7:3轮完成
- 任务量为8:3轮完成
- 任务量为9:3轮完成
- 任务量为10:4轮完成
- 任务量为11:4轮完成
......
可见任务量为$c$,则需$\lceil \frac{c}{3} \rceil$次完成。根据这个规律,循环遍历即可。
关于这个规律,灵山大佬给出了详细的证明。
代码
自己的代码:
class Solution:
def minimumRounds(self, tasks: List[int]) -> int:
num_dict = {}
n = len(tasks)
for i in range(n):
if tasks[i] in num_dict:
num_dict[tasks[i]] += 1
else:
num_dict[tasks[i]] = 1
ans = 0
for v in num_dict.values():
if v == 1:
return -1
else:
ans += ceil(v/3)
return ans
以上是自己的代码,相比之下灵神的思路跟自己一样,但是代码优雅了太多:
class Solution:
def minimumRounds(self, tasks: List[int]) -> int:
cnt = Counter(tasks)
if 1 in cnt.values():
return -1
return sum((c + 2) // 3 for c in cnt.values())且不说一些函数调用的技巧,灵神在向上取整这里更进了一步:
$$ \lceil \frac{c}{3} \rceil = \lfloor \frac{c+2}{3} \rfloor $$
将向上取整改进为了向下取整,因此可以用python的//运算,效率比ceil()高得多。
总结
- python封装了统计列表词频的函数:
Counter(),传入值是一个列表,输出是一个字典,统计key的出现次数。 字典遍历:
- 遍历Key:
for k in dict.keys(): - 遍历Value:
for v in dict.values() - 同时遍历Key和Value:
for k, v in dict.items()
- 遍历Key:


Aa广深预约号高端a0gz.cn
华纳圣淘沙开户步骤详解(183-8890-9465—?薇-STS5099【6011643】华纳圣淘沙公司开户流程全解析(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙公司账户注册指南(183-8890-9465—?薇-STS5099【6011643】
新手如何开通华纳圣淘沙公司账户(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙企业开户标准流程(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙公司开户:从零到一(183-8890-9465—?薇-STS5099【6011643】
官方指南:华纳圣淘沙公司开户流程(183-8890-9465—?薇-STS5099【6011643】
华纳圣淘沙公司开户流程说明书(183-8890-9465—?薇-STS5099【6011643】
东方明珠客服开户联系方式【182-8836-2750—】?μ- cxs20250806
东方明珠客服电话联系方式【182-8836-2750—】?- cxs20250806】
东方明珠开户流程【182-8836-2750—】?薇- cxs20250806】
东方明珠客服怎么联系【182-8836-2750—】?薇- cxs20250806】
新盛客服电话是多少?(?183-8890-9465—《?薇-STS5099】【
新盛开户专线联系方式?(?183-8890--9465—《?薇-STS5099】【?扣6011643??】
新盛客服开户电话全攻略,让娱乐更顺畅!(?183-8890--9465—《?薇-STS5099】客服开户流程,华纳新盛客服开户流程图(?183-8890--9465—《?薇-STS5099】
如何申请华纳公司账户?
新盘 上车集合 留下 我要发发 立马进裙
哈哈哈,写的太好了https://www.lawjida.com/
《暂停!智序重组(超长版完全无删减版 )》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/160671.html
《西兰姑娘》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/108719.html
《十角馆杀人事件》日本剧高清在线免费观看:https://www.jgz518.com/xingkong/9685.html
《300大作战(限量版蓝光版 )》国产动漫高清在线免费观看:https://www.jgz518.com/xingkong/148183.html
不错不错,我喜欢看 www.jiwenlaw.com
不错不错,我喜欢看 https://www.ea55.com/
想想你的文章写的特别好https://www.237fa.com/
想想你的文章写的特别好https://www.237fa.com/
叼茂SEO.bfbikes.com