# 1275. Find Winner on a Tic Tac Toe Game ###### tags: `Leetcode` `Microsoft` `Easy` Link: https://leetcode.com/problems/find-winner-on-a-tic-tac-toe-game/ ## 思路 原本的想法是用两组array分别记录两个选手在每行每列每个对角线上各放了几个,然后如果=3,就赢 但答案用了更简单的方法 让player1 = 1, player2 = -1,只需要一组array,如果=3/-3,就代表有一个人赢了 ## Code ```java= class Solution { public String tictactoe(int[][] moves) { int player = 1; int[] rows = new int[3]; int[] cols = new int[3]; int diagonal = 0; int antiDiagonal = 0; for(int i = 0;i < moves.length;i++){ int row = moves[i][0]; int col = moves[i][1]; rows[row]+=player; cols[col]+=player; diagonal+=row-col==0?player:0; antiDiagonal+=row+col==2?player:0; if(Math.abs(rows[row])==3||Math.abs(cols[col])==3||Math.abs(diagonal)==3||Math.abs(antiDiagonal)==3){ return player==1?"A":"B"; } if(i==8) return "Draw"; player=player==1?-1:1; } return "Pending"; } } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up