这是一个面试问题."你如何确定是否有人在任何规模的棋盘上赢得了一场井字游戏?" 我听说算法复杂度为O(1).是否有意义 ?任何人都可以解释算法吗?
我正在开发tic-tac-toe游戏,我需要算法来检查游戏何时结束(谁赢了).在3x3游戏中,我会检查每个可能的胜利情况(有8个功能).但是在7x7中(连续需要4个符号或者是对角线),很多可能的胜利模式.
我正在编写一些Java代码来实现Connect 4游戏.当玩家在水平,垂直或对角线上连续放置四个筹码时,会宣布获胜者.显然我可以写一些for循环并每次检查一个胜利者,但是想要更优雅地做一些建议.我正在考虑将所有获胜组合添加到某些数据结构中,只是检查最后一步所涉及的组合,但我不确定这是否可能或如何实现它.我是Java的新手,所以对于使用什么数据结构或如何实现的任何提示或建议将非常感激.谢谢
编辑:好的,有人可以告诉我在哪里开始实施这里的家伙回答:算法检查连接四个字段