欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

腾讯校招的题:牛牛和妞妞玩一个游戏,轮流对某一数列里相同且相邻的两个数字进行删除,无法删除的玩家将输掉这个游戏

程序员文章站 2022-07-07 10:28:00
...

如果牛牛赢得数据,输出:“yes,win!”

如果妞妞赢得数据,输出:“oh,no ! ”

package Chap2;


public class Demode {
	
	 public static String removeRepeatChar(String s) {
	        if (s == null) {
	            return "";
	        }
	        StringBuffer sb = new StringBuffer();
	        int i = 0;
	        int len = s.length();
	        int flag=0;
	        if(len==1) {
	        	return s;
	        }
	        if(len==2) {
	        	if (s.charAt(0)==s.charAt(1)) {
					return "";
				}else
					return s;
	        	
	        }     
	        while (i < len) {
	            char c = s.charAt(i); 
	            sb.append(c);  	
	            if(flag==0) {
	            	i++;
	            }  
	            while (i < len && s.charAt(i) == c) {
                    sb.delete(i-1,i);
	                i++;
	                flag=1;
	                break;
	            }   
				}
	            
	        return sb.toString();
	    }
	 public static Boolean NN(String s) {
		      int i = 0;
		      int len = s.length();
		        while (i < len) {
		            if(i+1< len && s.charAt(i) == s.charAt(i+1)) {//这个是如果这两个值相等,就让i+1取下一个元素
		                return true;
		            }else {
		            	i++;
		            }
		        }
				return false;


	}
	
	public static void main(String[] args) {
		String str="132235457";
        int NNIU=0; 
        while(NN(str)==true) {
    	   String str_2=removeRepeatChar(str);
    	   NNIU++;
    	   str=str_2;
       }
        
       if (NNIU%2==0) {
		System.out.println("no!");
	}else {
		System.out.println("win!");
	}
	}

}