描述

给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜(及井字棋规则),返回当前玩家是否胜出。

测试样例:

[[1,0,1],[1,-1,-1],[1,-1,0]]
返回:true


解题:

import java.util.*;

public class Board {
public boolean checkWon(int[][] board) {
/*
当前玩家获胜条件一定是:
1、行全为1,行之和为3
2、列全为1, 列之和为3
3、主副对角线为1,主副对角线和为3
*/
if(board[0][0]+board[1][1]+board[2][2] == 3)
return true;
if(board[0][2]+board[1][1]+board[2][0] == 3)
return true;
for(int i = 0;i<=2;i++){
if(board[i][0]+board[i][1]+board[i][2]==3)
return true;
if(board[0][i]+board[1][i]+board[2][i]==3)
return true;
}
return false;
}
}