Skip to content

Commit 39518ed

Browse files
authored
Create dota2-senate.cpp
1 parent 019d563 commit 39518ed

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

C++/dota2-senate.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
// Time: O(n)
2+
// Space: O(n)
3+
4+
class Solution {
5+
public:
6+
string predictPartyVictory(string senate) {
7+
queue<int> radiant, dire;
8+
const auto& n = senate.length();
9+
for (int i = 0; i < n; ++i) {
10+
(senate[i] == 'R') ? radiant.emplace(i) : dire.emplace(i);
11+
}
12+
while (!radiant.empty() && !dire.empty()) {
13+
int r_idx = radiant.front(), d_idx = dire.front();
14+
radiant.pop(), dire.pop();
15+
(r_idx < d_idx) ? radiant.emplace(r_idx + n) : dire.emplace(d_idx + n);
16+
}
17+
return (radiant.size() > dire.size()) ? "Radiant" : "Dire";
18+
}
19+
};

0 commit comments

Comments
 (0)