Leetcode 348. Design Tic-Tac-Toe

来源:互联网 发布:久久网络 编辑:程序博客网 时间:2024/06/06 02:08


1、声明一个两个数组 rows, cols ,三个整数diagonal , anti_diagonal 和 size 

2、用rows, cols,diagonal , anti_diagonal 来记录player 的 位置以便于检查获胜条件

public class TicTacToe {        private int[] rows;    private int[] cols;    private int diagonal;    private int anti_diagonal;    private int size;    public int move(int row, int col, int player) {        int toAdd = player == 1 ? 1 : -1;        rows[row] += toAdd;        cols[col] += toAdd;        if (row == col) diagonal += toAdd;        if (col == (size - row - 1)) anti_diagonal += toAdd;        return  check(row,col,player);    }        private int check(int row, int col, int player) {        if (Math.abs(rows[row]) == size || Math.abs(cols[col]) == size || Math.abs(diagonal) == size || Math.abs(anti_diagonal) == size )         {return player;}        return 0;       }}


0 0