直接将坐标弄成
转换一下即可
public static String tictactoe(int[][] moves) {
Set<Integer> a = new HashSet<>();
Set<Integer> b = new HashSet<>();
for(int i=0;i<moves.length;i++){
if(i%2==0){
a.add(moves[i][0]*3+moves[i][1]+1);
}else{
b.add(moves[i][0]*3+moves[i][1]+1);
}
}
if(isWinPerson(a)){
return "A";
}else if(isWinPerson(b)){
return "B";
}else
return moves.length == 9? "Draw":"Pending";
}
private static boolean isWinPerson(Set<Integer> set){
if((set.contains(1)&&set.contains(2)&&set.contains(3))||
(set.contains(4)&&set.contains(5)&&set.contains(6))||
(set.contains(7)&&set.contains(8)&&set.contains(9))||
(set.contains(1)&&set.contains(4)&&set.contains(7))||
(set.contains(2)&&set.contains(5)&&set.contains(8))||
(set.contains(3)&&set.contains(6)&&set.contains(9))||
(set.contains(1)&&set.contains(5)&&set.contains(9))||
(set.contains(3)&&set.contains(5)&&set.contains(7))){
return true;
}else{
return false;
}
}