力扣794:

用字符串数组作为井字游戏的游戏板 board,判断该游戏板有没有可能最终形成
游戏板是一个 3 x 3 数组,由字符 " ","X" 和 "O" 组成。字符 " " 代表一个空位。
两个玩家轮流将字符放入空位,一个玩家执X棋,另一个玩家执O棋
“X” 和 “O” 只允许放置在空位中,不允许对已放有字符的位置进行填充。
当有 3 个相同(且非空)的字符填充任何行、列或对角线时,游戏结束,board生成
public static boolean validBoard(String[] board) {//X赢了 X-O=1//O赢了 X-O=0//胜负未分 X-O=1 X-O=0int xCount=0,oCount=0;for(int i=0;i<3;i++) {char[] board1=board[i].toCharArray();for(int j=0;j<3;j++) {if(board1[j]=='X') {xCount++;}if(board1[j]=='O'){oCount++;}}}if(xCount!=oCount&&xCount-oCount!=1) {return false;}if(win(board,"XXX")&&xCount-oCount!=1) {return false;}if(win(board,"OOO")&&oCount-xCount!=0) {return false;}return true;}public static boolean win(String[] board,String flag) {for(int i=0;i<3;i++) {//纵向3连if(flag.equals(""+board[0].charAt(i)+board[1].charAt(i)+board[2].charAt(i))) {return true;}//横向3连if(flag.equals(""+board[i])) {return true;}        }// \向3连if(flag.equals(""+board[0].charAt(0)+board[1].charAt(1)+board[2].charAt(2))) {return true;}// /向3连if(flag.equals(""+board[0].charAt(2)+board[1].charAt(1)+board[2].charAt(0))) {return true;}return false;}

leetcode:井字游戏相关推荐

  1. LeetCode–井字游戏

    LeetCode–井字游戏 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 剑指offer,面试16.04 井字游戏 题目 ...

  2. php井字游戏代码_LeetCode–井字游戏

    LeetCode–井字游戏 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 剑指offer,面试16.04 题目 设计一个 ...

  3. Kafka Streams开发者指南

    Kafka Streams 1.1 概述 Kafka Streams是一个客户端程序库,用于处理和分析存储在Kafka中的数据,并将得到的数据写回Kafka或发送到外部系统.Kafka Stream基 ...

  4. LeetCode 794. 有效的井字游戏(分类讨论)

    文章目录 1. 题目 2. 解题 1. 题目 用字符串数组作为井字游戏的游戏板 board.当且仅当在井字游戏过程中,玩家有可能将字符放置成游戏板所显示的状态时,才返回 true. 该游戏板是一个 3 ...

  5. leetcode 有效的井字游戏

    有效的井字游戏 昨天在leetcode 刷的题 觉的还是挺有趣的 其实就是一个分类讨论的过程 首先在题目上: 对于一个3*3的棋盘上 要判断 下的棋子是否合法 在我想来 合法的只有三种状态 没有玩家胜 ...

  6. leetcode470 Java_Java实现 LeetCode 794 有效的井字游戏 (暴力分析)

    794. 有效的井字游戏 用字符串数组作为井字游戏的游戏板 board.当且仅当在井字游戏过程中,玩家有可能将字符放置成游戏板所显示的状态时,才返回 true. 该游戏板是一个 3 x 3 数组,由字 ...

  7. leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)

    题目 https://leetcode.com/problems/valid-tic-tac-toe-state/ 题解 1.X必须比O多1个或者相同,否则false 2.X和O不能同时都是赢家,否则 ...

  8. leetcode面试题 16.04. 井字游戏

    设计一个算法,判断玩家是否赢了井字游戏.输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" &quo ...

  9. LeetCode题解:井字游戏

    井字游戏 设计一个算法,判断玩家是否赢了井字游戏.输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" ...

最新文章

  1. 谈一谈UNet图像分割
  2. linux centos7修改默认启动的内核(升级及切换内核)
  3. 开始体验Kali Linux
  4. C++经典书籍和相关内容
  5. lnmp 备份mysql_mysql全量备份与增量备份
  6. 【Java】@transient代表着什么
  7. Java Web现代化开发:Spring Boot + Mybatis + Redis二级缓存
  8. 迷宫的最短路径(bfs)
  9. c语言有理数均值思路,5-35 有理数均值 (20分)
  10. LaTex 常用语法
  11. pytorch Resnet 网络结构
  12. 移动硬盘打不开提示格式化如何恢复数据
  13. 【Linux】一步一步学Linux——hostid命令(246)
  14. OpenStack报错:MessagingTimeout: Timed out waiting for a reply to message ID
  15. 【win 10系统激活】
  16. 【Fantastic-admin】Vue前端框架 出现v-model无法绑定,绑定之后页面无法加载
  17. XCode 6.x 越狱 真机调试
  18. 班导师见面会会议记录
  19. 云原生kubernetes六:namespace和Resourcequota
  20. 手撕永磁同步电机:foc(clark、park、ipark)变换、电机数学模型解耦过程推导

热门文章

  1. 现在没有可用的软件包 *** ,但是它被其它的软件包引用了 和 E: 无法定位软件包 ***问题解决(思路清晰干货)...
  2. Lunix文件权限和目录配置
  3. 项目一--学生成绩单
  4. 鲸享云业务长视频B(B站)
  5. 计算机网络术语大全 翻译,计算机网络词汇中文英语翻译对照术语
  6. 华为OD机试真题Python实现【射击比赛】真题+解题思路+代码(20222023)
  7. php artisan migrate,laravel 5.1下php artisan migrate的使用注意事项总结
  8. Android 7.0之访问文件的权限和FileProvider类
  9. Unity中的Invoke
  10. 使用 Mybatis——Plus 分页查询