LeetCode:649. Dota2 参议院(java实现)

这道题我真的是遭了大坑了,一直死在一个问题上,原因就是我忘了字符串的值不能被直接修改!!!!修改后是返回一个新字符串
在这里插入图片描述

题目

在这里插入图片描述在这里插入图片描述`

class Solution {
public String predictPartyVictory(String senate) {
    	  //R和D 可以看作两个对象,这两个对象各自都有 自己被ban和ban别人的属性
    	  
    	  int banR=0;
    	  int banD=0;
    	  char[] newsen=new char[senate.length()];
    	  for(int i=0;i<senate.length();i++) {
    		  newsen[i]=senate.charAt(i);
    	  }
    	  while(true) {
    		  for(int i=0;i<senate.length();i++) {
    			  if(newsen[i]=='R') {
    				  if(banR==0) {
    					  banD++;
    				  }else {
    					  banR--;
    					  newsen[i]='X';
    				  }
    			  }else if(newsen[i]=='D') {
    				  if(banD==0) {
    					  banR++;
    				  }else {
    					  banD--;
					  newsen[i]='X';
    				  }
    			  }
    		  }
              boolean existD=false,existR=false;
              for(int i=0;i<newsen.length;i++){
                  if(newsen[i]=='R'){
                      existR=true;
                  }if(newsen[i]=='D'){
                      existD=true;
                  }
              }
              if(existD==false){
                  return "Radiant";
              }if(existR==false){
                  return "Dire";
              }
    	  }
      }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值