leetcode-1419-数青蛙
题目描述:
自己的提交:
class Solution: def minNumberOfFrogs(self, croakOfFrogs: str) -> int: c = collections.Counter() ans = 0 st = "croak" for s in croakOfFrogs: c[s] += 1 for i in st[:st.index(s)]: if c[i] < c[s]: return -1 ans = max(c[s],ans) if s == 'k': for i in "croak": c[i] -= 1 for i in "croak": if c[i] != 0: return -1 if len(c.keys()) != 5: return -1 return ans
另:
class Solution: def minNumberOfFrogs(self, cr: str) -> int: pre = [0] * 5 res = 0 for c in cr: if c == 'c': pre[0] += 1 if c == 'r': pre[0] -= 1 pre[1] += 1 if c == 'o': pre[1] -= 1 pre[2] += 1 if c == 'a': pre[2] -= 1 pre[3] += 1 if c == 'k': pre[3] -= 1 if any(c < 0 for c in pre): return -1 res = max(res, sum(pre)) if any(c != 0 for c in pre): return -1 return res