649. Dota2 参议院
题目链接:649. Dota2 参议院
代码如下:
//贪心算法
class Solution
{
public:
string predictPartyVictory(string senate)
{
bool R=true,D=true;
// 当flag大于0时,R在D前出现,R可以消灭D。当flag小于0时,D在R前出现,D可以消灭R
int flag=0;
while(R&&D)
{
R=false;
D=false;
for(int i=0;i<senate.size();i++)
{
if(senate[i]=='R')
{
if(flag<0) senate[i]='0';// 消灭R,R此时为false
else R=true;// 如果没被消灭,本轮循环结束有R
flag++;
}
if(senate[i]=='D')
{
if(flag>0) senate[i]='0';// 消灭R,R此时为false
else D=true;// 如果没被消灭,本轮循环结束有R
flag--;
}
}
}
return R == true ? "Radiant" : "Dire";
}
};