Minimum Number of Frogs Croaking LeetCode solution in Python

1
# Runtime: 137 ms (Top 87.7%) | Memory: 17.15 MB (Top 48.6%)
2

3

4
class Solution:
5
def minNumberOfFrogs(self, croakOfFrogs: str) -> int:
6
c = r = o = a = k = max_frog_croak = present_frog_croak = 0
7
# need to know, at particular point,
8
# what are the max frog are croaking,
9

10
for i, v in enumerate(croakOfFrogs):
11
if v == "c":
12
c += 1
13
# c gives a signal for a frog
14
present_frog_croak += 1
15
elif v == "r":
16
r += 1
17
elif v == "o":
18
o += 1
19
elif v == "a":
20
a += 1
21
else:
22
k += 1
23
# frog stop croaking
24
present_frog_croak -= 1
25

26
max_frog_croak = max(max_frog_croak, present_frog_croak)
27
# if any inoder occurs;
28
if c < r or r < o or o < a or a < k:
29
return -1
30

31
# if all good, else -1
32
if present_frog_croak == 0 and c == r and r == o and o == a and a == k:
33
return max_frog_croak
34
return -1

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0