欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)

发布时间:2024/2/28 java 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。