Skip to content

Commit 58c3d51

Browse files
authored
Update building-h2o.py
1 parent 8460716 commit 58c3d51

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

Python/building-h2o.py

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,31 @@
77
class H2O(object):
88
def __init__(self):
99
self.__l = threading.Lock()
10-
self.__Hs = []
11-
self.__Os = []
10+
self.__nH = 0
11+
self.__nO = 0
12+
self.__releaseHydrogen = None
13+
self.__releaseOxygen = None
1214

1315
def hydrogen(self, releaseHydrogen):
1416
with self.__l:
15-
self.__Hs.append(releaseHydrogen)
17+
self.__releaseHydrogen = releaseHydrogen
18+
self.__nH += 1
1619
self.__output()
1720

1821
def oxygen(self, releaseOxygen):
1922
with self.__l:
20-
self.__Os.append(releaseOxygen)
23+
self.__releaseOxygen = releaseOxygen
24+
self.__nO += 1
2125
self.__output()
2226

2327
def __output(self):
24-
while len(self.__Hs) >= 2 and \
25-
len(self.__Os) >= 1:
26-
self.__Hs.pop()()
27-
self.__Hs.pop()()
28-
self.__Os.pop()()
28+
while self.__nH >= 2 and \
29+
self.__nO >= 1:
30+
self.__nH -= 2
31+
self.__nO -= 1
32+
self.__releaseHydrogen()
33+
self.__releaseHydrogen()
34+
self.__releaseOxygen()
2935

3036

3137
# Time: O(n)

0 commit comments

Comments
 (0)