import java.util.*; public class Board { public boolean checkWon(int[][] board) { // write code here int n=board.length;//获取二维数组的长度 int sum=0;//统计某1行或某1列的数字和,看等不等于n //1统计行 for(int i=0;i<n;i++){ sum=0;//先置0,因为上一次sum有数据 for(int j=0;j<n;j++){ sum+=board[i][j]; //统计和 行号不变列号变 } if(sum==n){ //最后出来(从一行中出来),能对上n,则代表当前行,是一条线 return true; } } //2统计列 for(int i=0;i<n;i++){ sum=0;//先置0,以免有数据残留 for(int j=0;j<n;j++){ sum+=board[j][i];//列号不变,行号变,所以这里行是j } if(sum==n){ return true; //有列满足,则为TRUE } } //3,统计主对角线 sum=0;//先在外面清空,不能在for循环里面清空 for(int i=0;i<n;i++){ sum+=board[i][i];//因为下标一样 } if(sum==n){ return true;//出来后,主对角线满足条件,返回TRUE } //统计副对角线 sum=0; //先清0 for(int i=0;i<n;i++){ sum+=board[i][n-1-i];//下标和为n-1 } if(sum==n){ return true;//副对角线满足 } return false;//走到这里都不满足,则为FALSE } }