leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)
生活随笔
收集整理的这篇文章主要介绍了
leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
题目
https://leetcode.com/problems/valid-tic-tac-toe-state/
题解
1、X必须比O多1个或者相同,否则false
2、X和O不能同时都是赢家,否则false
3、X赢的时候必须比O多1个,否则false
4、O赢得时候个数与X相同,否则false;
其他的都是true
class Solution {public boolean validTicTacToe(String[] board) {int x = 0; // x countint o = 0; // o countchar[][] b = new char[3][3];for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {char c = board[i].charAt(j);if (c == 'X') x++;else if (c == 'O') o++;b[i][j] = c;}}if (o > x || x - o >= 2) return false;int xWin = 0;int oWin = 0;if (b[0][0] != ' ' && b[0][0] == b[0][1] && b[0][1] == b[0][2]) {if (b[0][0] == 'X') xWin++; else oWin++;}if (b[1][0] != ' ' && b[1][0] == b[1][1] && b[1][1] == b[1][2]) {if (b[1][0] == 'X') xWin++; else oWin++;}if (b[2][0] != ' ' && b[2][0] == b[2][1] && b[2][1] == b[2][2]) {if (b[2][0] == 'X') xWin++; else oWin++;}if (b[0][0] != ' ' && b[0][0] == b[1][0] && b[1][0] == b[2][0]) {if (b[0][0] == 'X') xWin++; else oWin++;}if (b[0][1] != ' ' && b[0][1] == b[1][1] && b[1][1] == b[2][1]) {if (b[0][1] == 'X') xWin++; else oWin++;}if (b[0][2] != ' ' && b[0][2] == b[1][2] && b[1][2] == b[2][2]) {if (b[0][2] == 'X') xWin++; else oWin++;}if (b[0][0] != ' ' && b[0][0] == b[1][1] && b[1][1] == b[2][2]) {if (b[0][0] == 'X') xWin++; else oWin++;}if (b[0][2] != ' ' && b[0][2] == b[1][1] && b[1][1] == b[2][0]) {if (b[0][2] == 'X') xWin++; else oWin++;}// 1、X必须比O多1个或者相同,否则false// 2、X和O不能同时都是赢家,否则false// 3、X赢的时候必须比O多1个,否则false// 4、O赢得时候个数与X相同,否则false;// 其他的都是trueif (xWin >= 1 && oWin >= 1) return false;if (xWin >= 1) return x == o + 1;if (oWin >= 1) return x == o;return true;} }总结
以上是生活随笔为你收集整理的leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: leetcode 792. Number
- 下一篇: leetcode 795. Number