LeetCode 1275. 找出井字棋的获胜者(位运算)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 1275. 找出井字棋的获胜者(位运算)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
A 和 B 在一個 3 x 3 的網格上玩井字棋。
井字棋游戲的規則如下:
- 玩家輪流將棋子放在空方格 (" ") 上。
- 第一個玩家 A 總是用 “X” 作為棋子,而第二個玩家 B 總是用 “O” 作為棋子。
- “X” 和 “O” 只能放在空方格中,而不能放在已經被占用的方格上。
- 只要有 3 個相同的(非空)棋子排成一條直線(行、列、對角線)時,游戲結束。
- 如果所有方塊都放滿棋子(不為空),游戲也會結束。
- 游戲結束后,棋子無法再進行任何移動。
給你一個數組 moves,其中每個元素是大小為 2 的另一個數組(元素分別對應網格的行和列),它按照 A 和 B 的行動順序(先 A 后 B)記錄了兩人各自的棋子位置。
如果游戲存在獲勝者(A 或 B),就返回該游戲的獲勝者;如果游戲以平局結束,則返回 “Draw”;如果仍會有行動(游戲未結束),則返回 “Pending”。
你可以假設 moves 都 有效(遵循井字棋規則),網格最初是空的,A 將先行動。
提示: 1 <= moves.length <= 9 moves[i].length == 2 0 <= moves[i][j] <= 2 moves 里沒有重復的元素。 moves 遵循井字棋的規則。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/find-winner-on-a-tic-tac-toe-game
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 位運算解題
類似題目:
程序員面試金典 - 面試題 16.04. 井字游戲(計數)
LeetCode 348. 判定井字棋勝負(計數)
- 將棋盤看做是9個二進制位,所有的獲勝狀態是可以枚舉的,用3個8進制位來表示
總結
以上是生活随笔為你收集整理的LeetCode 1275. 找出井字棋的获胜者(位运算)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1022. 从根到叶的
- 下一篇: LeetCode 1340. 跳跃游戏