zoukankan      html  css  js  c++  java
  • 1275. Find Winner on a Tic Tac Toe Game

    Tic-tac-toe is played by two players A and B on a 3 x 3 grid.

    Here are the rules of Tic-Tac-Toe:

    • Players take turns placing characters into empty squares (" ").
    • The first player A always places "X" characters, while the second player B always places "O" characters.
    • "X" and "O" characters are always placed into empty squares, never on filled ones.
    • The game ends when there are 3 of the same (non-empty) character filling any row, column, or diagonal.
    • The game also ends if all squares are non-empty.
    • No more moves can be played if the game is over.

    Given an array moves where each element is another array of size 2 corresponding to the row and column of the grid where they mark their respective character in the order in which A and B play.

    Return the winner of the game if it exists (A or B), in case the game ends in a draw return "Draw", if there are still movements to play return "Pending".

    You can assume that moves is valid (It follows the rules of Tic-Tac-Toe), the grid is initially empty and A will play first.

    class Solution {
        public String tictactoe(int[][] moves) {
            int[] arow = new int[3], brow = new int[3], acol = new int[3], bcol = new int[3];
            int aD1 = 0, bD1 = 0, aD2 = 0, bD2 = 0;
            for(int i = 0; i < moves.length; i++){
                int r = moves[i][0], c = moves[i][1];
                if(i % 2 == 0){
                    if(++arow[r] == 3 || ++acol[c] == 3 || r==c && ++aD1 == 3 || r + c == 2 && ++aD2 == 3) return "A";
                }
                else if(++brow[r] == 3 || ++bcol[c] == 3 || r==c && ++bD1 == 3 || r + c == 2 && ++bD2 == 3) return "B";
            }
            return moves.length == 9 ? "Draw" : "Pending";
        }
    }
  • 相关阅读:
    jquery的img的动态title换行
    PHP小技巧
    Jquery zTree结合Asp.net实现异步加载数据
    Could not load type 'System.ServiceModel.Activation.HttpModule' from assembly 'System.ServiceModel, Version=3.0.0.0,"解决办法
    ORACLE使用数据泵导入导出部分表
    兼容IE、火狐、谷歌的页面关闭事件
    MySQL存储引擎总结
    linux常用基本命令
    PHP扩展模块Pecl、Pear以及Perl的区别
    php实现socket
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/11976909.html
Copyright © 2011-2022 走看看