LeetCode题解(1419):依据多个蛙叫混合的列表计算最少的青蛙数(Python)
发布日期:2021-06-29 19:58:39 浏览次数:3 分类:技术文章

本文共 1148 字,大约阅读时间需要 3 分钟。

题目:(中等)

标签:字符串

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N ) O(N) O(N) O ( 1 ) O(1) O(1) 120ms (100.00%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n9FRFoKo-1598581157588)(LeetCode题解(1419)]:截图.png)

class Solution:    def minNumberOfFrogs(self, croakOfFrogs: str) -> int:        ans = 0        a, b, c, d = 0, 0, 0, 0  # 四个叫声状态的数量        for ch in croakOfFrogs:            # 计算当前叫声状态            if ch == "c":                a += 1                total = a + b + c + d                if total > ans:                    ans = total            elif ch == "r":                a -= 1                b += 1                if a < 0:                    return -1            elif ch == "o":                b -= 1                c += 1                if b < 0:                    return -1            elif ch == "a":                c -= 1                d += 1                if c < 0:                    return -1            else:                d -= 1                if d < 0:                    return -1        # 判断所有叫声是否结束        if a != 0 or b != 0 or c != 0 or d != 0:            return -1        else:            return ans

转载地址:https://dataartist.blog.csdn.net/article/details/108274493 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(1432):改变一个整数能得到的最大差值(Python)
下一篇:LeetCode题解(1404):依据指定规则将二进制表示减到1的步骤数(Python)

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月03日 20时43分12秒