649.Dota2参议院 新增JavaScript版本

This commit is contained in:
jerryfishcode
2021-09-27 12:39:55 +08:00
committed by GitHub
parent a3a7568e41
commit f7990b703b

View File

@ -219,6 +219,31 @@ func predictPartyVictory(senateStr string) string {
## JavaScript
```js
var predictPartyVictory = function(senateStr) {
// R = true表示本轮循环结束后字符串里依然有R;D同理。
let R = true, D = true;
// 当flag大于0时R在D前出现R可以消灭D。当flag小于0时D在R前出现D可以消灭R
let flag = 0;
let senate = senateStr.split('');
while(R && D){ // 一旦R或者D为false就结束循环说明本轮结束后只剩下R或者D了
R = false;
D = false;
for(let i = 0; i < senate.length; i++){
if(senate[i] === 'R'){
if(flag < 0) senate[i] = 0;// 消灭RR此时为false
else R = true;// 如果没被消灭本轮循环结束有R
flag++;
}
if(senate[i] === 'D'){
if(flag > 0) senate[i] = 0;
else D = true;
flag--;
}
}
}
// 循环结束之后R和D只能有一个为true
return R ? "Radiant" : "Dire";
};
```
-----------------------