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