程式語言 - LeetCode - C++ - 649. Dota2 Senate



參考資訊:
https://www.cnblogs.com/grandyang/p/7439222.html

題目:


解答:

class Solution {
public:
    string predictPartyVictory(string senate) {
        queue<int> r;
        queue<int> d;
        int size = senate.size();

        for (int i = 0; i < size; i++) {
            if (senate[i] == 'R') {
                r.push(i);
            }
            else {
                d.push(i);
            }
        }

        while (!r.empty() && !d.empty()) {
            int i = r.front();
            int j = d.front();

            r.pop();
            d.pop();
            if (i < j) {
                r.push(i + size);
            }
            else {
                d.push(j + size);
            }
        }

        return r.size() > d.size() ? "Radiant" : "Dire";
    }
};