摘要:題目鏈接這道題找是否有贏的方法和相似,稍微簡化了。統計行列和兩個對角線的情況,兩個分別用和來記。然后判斷是否有一個人贏只需要的復雜度。當然這么做的前提是假設所有的都是的,棋盤一個地方已經被占用了,就不能走那個地方了。
348. Design Tic-Tac-Toe
題目鏈接:https://leetcode.com/problems...
這道題找是否有player贏的方法和N-Queens相似,稍微簡化了。統計行列和兩個對角線player的情況,兩個player分別用+1和-1來記。然后判斷是否有一個人贏只需要O(1)的復雜度。當然這么做的前提是假設所有的move都是valid的,棋盤一個地方已經被占用了,就不能走那個地方了。
public class TicTacToe { int n; int[] cols; int[] rows; int diag; int antidiag; public TicTacToe(int n) { this.n = n; cols = new int[n]; rows = new int[n]; diag = 0; antidiag = 0; } public int move(int row, int col, int player) { // -1 for player 1, +1 for player 2 int flag = (player == 1 ? -1 : 1); rows[row] += flag; cols[col] += flag; if(row == col) diag += flag; if(row + col == n - 1) antidiag += flag; if(Math.abs(rows[row]) == n || Math.abs(cols[col]) == n || Math.abs(diag) == n || Math.abs(antidiag) == n) return player; return 0; } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66650.html
Problem Design a Tic-tac-toe game that is played between two players on a n x n grid. You may assume the following rules: A move is guaranteed to be valid and is placed on an empty block.Once a winnin...
摘要:當有一行完全只有這兩個中的其中一個人時,的絕對值應該等于這個數列的長度,這樣就不需要每次再掃一遍數組。 題目:Design a Tic-tac-toe game that is played between two players on a n x n grid. You may assume the following rules: A move is guaranteed to b...
摘要:我們在前文中考慮的那張圖就來自這篇文章,之后我們會用剪枝算法來改進之前的解決方案。剪枝算法的實現接下來討論如何修改前面實現的算法,使其變為剪枝算法?,F在我們已經有了現成的和剪枝算法,只要加上一點兒細節就能完成這個游戲了。 前段時間用 React 寫了個2048 游戲來練練手,準備用來回顧下 React 相關的各種技術,以及試驗一下新技術。在寫這個2048的過程中,我考慮是否可以在其中加...
摘要:我們在前文中考慮的那張圖就來自這篇文章,之后我們會用剪枝算法來改進之前的解決方案。剪枝算法的實現接下來討論如何修改前面實現的算法,使其變為剪枝算法。現在我們已經有了現成的和剪枝算法,只要加上一點兒細節就能完成這個游戲了。 前段時間用 React 寫了個2048 游戲來練練手,準備用來回顧下 React 相關的各種技術,以及試驗一下新技術。在寫這個2048的過程中,我考慮是否可以在其中加...
摘要:源自小伙伴的求助,雖然沒能定位到最終的原因,調試的過程也比較有意思緣起小伙伴求助我,同一個鏡像在測試機器上可以運行,在阿里云上運行提示用戶不存在。 源自小伙伴的求助,雖然沒能定位到最終的原因,調試的過程也比較有意思 緣起 小伙伴求助我,同一個docker鏡像在測試機器上可以運行,在阿里云上運行提示用戶不存在。 在阿里云上運行提示如下: # docker run --rm -it ima...
閱讀 3485·2023-04-25 22:45
閱讀 1288·2021-11-11 16:54
閱讀 2793·2019-08-30 15:44
閱讀 3195·2019-08-30 15:44
閱讀 1652·2019-08-30 13:55
閱讀 946·2019-08-29 18:45
閱讀 1200·2019-08-29 17:25
閱讀 1014·2019-08-29 12:59