-
-
Notifications
You must be signed in to change notification settings - Fork 48
Expand file tree
/
Copy path0649-dota2-senate.py
More file actions
31 lines (23 loc) · 702 Bytes
/
0649-dota2-senate.py
File metadata and controls
31 lines (23 loc) · 702 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# time complexity: O(n)
# space complexity: O(n)
from collections import deque
class Solution:
def predictPartyVictory(self, senate: str) -> str:
n = len(senate)
dQue = deque()
rQue = deque()
for i, s in enumerate(senate):
if s == "R":
rQue.append(i)
else:
dQue.append(i)
while rQue and dQue:
rTurn = rQue.popleft()
dTurn = dQue.popleft()
if dTurn < rTurn:
dQue.append(dTurn + n)
else:
rQue.append(rTurn + n)
return "Radiant" if rQue else "Dire"
senate = "RD"
print(Solution().predictPartyVictory(senate))