LeetCode #794 Valid Tic-Tac-Toe State
基本思路:统计基本信息+检查。
根据谁赢来分成两类,考察编码者思维条理性,代码难度不难,思维难度中等。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
class : def validTicTacToe(self, board): """ :type board: List[str] :rtype: bool """ O = 0 X = 0 OOO = 0 XXX = 0 for i in range(3): if board[i] == "OOO": O += 3 OOO += 1 elif board[i] == "XXX": X += 3 XXX += 1 else: for j in range(3): if board[i][j] == "O": O += 1 if board[i][j] == "X": X += 1 if (board[0][i] == board[1][i]) and (board[2][i] == board[1][i]): if board[0][i] == "X": XXX += 1 if board[0][i] == "O": OOO += 1 if (board[0][0] == board[1][1]) and (board[1][1] == board[2][2]): if(board[1][1] == "X") : XXX += 1 if(board[1][1] == "O") : OOO += 1 if (board[2][0] == board[1][1]) and (board[1][1] == board[0][2]): if(board[1][1] == "X") : XXX += 1 if(board[1][1] == "O") : OOO += 1 print(X,O,XXX,OOO) if XXX + OOO > 1: return False if (O > X) or (X > O + 1): return False if XXX == 1: if X != O + 1: return False if OOO == 1: if X != O: return False return True
|
近期评论