LeetCode有效的井字遊戲python

2021-10-04 09:22:19 字數 1182 閱讀 5977

class

solution

(object):

defvalidtictactoe

(self, board)

:"""

:type board: list[str]

:rtype: bool

"""first,second=

'xo'

xnum=

sum(row.count(first)

for row in board)

onum=

sum(row.count(second)

for row in board)

# 檢查在棋盤的 3 行,3 列和 2 條對角線上是否有該玩家的連續 3 枚棋子。

defwin

(board,player)

:for i in

xrange(3

):ifall

(board[i]

[j]==player for j in

xrange(3

)):return

true

ifall

(board[j]

[i]==player for j in

xrange(3

)):return

true

# 兩條對角線

return

(player==board[1]

[1]==board[0]

[0]==board[2]

[2]or player==board[1]

[1]==board[0]

[2]==board[2]

[0])

# x的數量一定大於等於o,且相差最大為1

if onum notin:

return

false

# 贏家是x,必須保證最後乙個棋子是x下的

if win(board,first)

and xnum-

1!= onum:

return

false

# 贏家是o,必須保證最後乙個棋子是o下的

if win(board,second)

and xnum != onum:

return

false

return

true

有效的井字遊戲

問題描述 用字串陣列作為井字遊戲的遊戲板 board。當且僅當在井字遊戲過程中,玩家有可能將字元放置成遊戲板所顯示的狀態時,才返回 true。該遊戲板是乙個 3 x 3 陣列,由字元 x 和 o 組成。字元 代表乙個空位。以下是井字遊戲的規則 玩輪流將字元放入空位 中。第乙個玩家總是放字元 x 且第...

leetcode 井字遊戲

設計乙個演算法,判斷玩家是否贏了井字遊戲。輸入是乙個 n x n 的陣列棋盤,由字元 x 和 o 組成,其中字元 代表乙個空位。以下是井字遊戲的規則 玩家輪流將字元放入空位 中。第乙個玩家總是放字元 o 且第二個玩家總是放字元 x x 和 o 只允許放置在空位中,不允許對已放有字元的位置進行填充。當...

31 有效的井字遊戲

用字串陣列作為井字遊戲的遊戲板 board。當且僅當在井字遊戲過程中,玩家有可能將字元放置成遊戲板所顯示的狀態時,才返回 true。該遊戲板是乙個 3 x 3 陣列,由字元 x 和 o 組成。字元 代表乙個空位。以下是井字遊戲的規則 玩家輪流將字元放入空位 中。第乙個玩家總是放字元 x 且第二個玩家...