腾讯校招的题:牛牛和妞妞玩一个游戏,轮流对某一数列里相同且相邻的两个数字进行删除,无法删除的玩家将输掉这个游戏
程序员文章站
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!");
}
}
}