LeetCode/cs/dota2-senate.cs

28 lines
685 B
C#
Raw Permalink Normal View History

public class Solution {
public string PredictPartyVictory(string senate) {
var radiant = new Queue<int>();
var dire = new Queue<int>();
for (var i = 0; i < senate.Length; ++i) {
(senate[i] == 'R' ? radiant : dire).Enqueue(i);
}
while (radiant.Count > 0 && dire.Count > 0) {
var r = radiant.Dequeue();
var d = dire.Dequeue();
if (r < d) {
radiant.Enqueue(senate.Length + r);
} else {
dire.Enqueue(senate.Length + d);
}
}
if (radiant.Count > 0) {
return "Radiant";
}
return "Dire";
}
}