翻转游戏Ⅰ& Ⅱ

  • 题目
  • 思路与算法
  • 代码实现

题目

翻转游戏Ⅰ

翻转游戏Ⅱ

思路与算法

  1. 翻转游戏Ⅰ的意思读题容易歧义,读英文题目后理解是第一次操作后的所有list集合,因此思路很清晰,遍历,找到‘++’,改为‘–’后放入res结果集,之后再改回‘++’,直至遍历结束为止。
  2. 翻转游戏Ⅱ使用递归即可,利用不能双赢来写递归即可。

代码实现

翻转游戏Ⅰ

class Solution {public List<String> generatePossibleNextMoves(String s) {char[] ch = s.toCharArray();List<String> res = new ArrayList<String>();// 每次替换‘++’ 为‘--’ 后将此字符串传入res存放,传入后再恢复‘--’为‘++’for (int i = 0; i < ch.length - 1; i++) {if (ch[i] == '+' && ch[i + 1] == '+') {ch[i] = '-';ch[i + 1] = '-';res.add(new String(ch));ch[i] = '+';ch[i + 1] = '+';}}return res;}
}

翻转游戏Ⅱ

class Solution {public boolean canWin(String s) {for (int i = 0; i < s.length(); ++i) {if (i + 1 < s.length() && s.charAt(i) == '+' && s.charAt(i + 1) == '+') {StringBuilder s1 = new StringBuilder(s);StringBuilder tmp = s1;tmp.setCharAt(i, '-');tmp.setCharAt(i + 1, '-');String tmp1 = tmp + "";if (!canWin(tmp1)) {return true;}}}return false;}
}

20200208(补):翻转游戏Ⅰ Ⅱ(leetcode)相关推荐

  1. LeetCode 294. 翻转游戏 II(记忆化递归)

    文章目录 1. 题目 2. 解题 1. 题目 你和朋友玩一个叫做「翻转游戏」的游戏, 游戏规则:给定一个只有 + 和 - 的字符串. 你和朋友轮流将 连续 的两个 "++" 反转成 ...

  2. LeetCode 293. 翻转游戏

    文章目录 1. 题目 2. 解题 1. 题目 你和朋友玩一个叫做「翻转游戏」的游戏,游戏规则:给定一个只有 + 和 - 的字符串. 你和朋友轮流将 连续 的两个 "++" 反转成 ...

  3. [Swift]LeetCode293. 翻转游戏 $ Flip Game

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  4. 51nod-1337:翻转游戏

    1337 翻转游戏 题目来源: TopCoder 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 这个游戏与灯有关,有M只灯排成一行,编号为0,1, ...

  5. 翻转游戏(Flip_Game)

    翻转游戏--Flip Game 问题描述 样例 代码 问题描述 翻转游戏:给定一个只包含两种字符的字符串:+和-.你可以将两个连续的"++"翻转成"–",你需要 ...

  6. 贪心——跳跃游戏(Leetcode 55)

    题目选自Leetcode 55. 跳跃游戏 这道题表面上不是求最值,但是可以改一改: 请问通过题目中的跳跃规则,最多能跳多远?如果能够越过最后一格,返回 true,否则返回 false. 所以解题关键 ...

  7. 【java链表反转:递归实现逆向翻转(leetcode)】

    (leetcode206) 文章目录 (leetcode206) 前言 一.题目中文 二.代码实现 1.完整代码 2.代码详解 总结 前言 对于链表翻转使用递归方法分为顺序翻转和逆向翻转,这里主要介绍 ...

  8. POJ1753 翻转游戏 题解

    题目大意 有一个4×4的棋盘,上面放满棋子,棋子一面是白色,另一面是黑色.每次翻转一枚棋子,同时与这枚棋子相邻的上下左右的棋子也要翻转.问能否通过数次翻转使得所有的棋子全部白色面朝上或全部黑色面朝上呢 ...

  9. Flip Game翻转游戏

    4*4的棋盘,棋盘上的每个位置都是黑或白,每个位置的颜色可以翻转,并且翻转一个位置的同时其周围的棋子的颜色也同时翻转.给一个目标状态,问多少步可以到达目标状态. 广度优先搜索. #include &l ...

最新文章

  1. Qt之FTP实现--QFtp篇
  2. dptcpp 题目 2352: [信息学奥赛一本通-T1440]数的划分-dp
  3. Codeforces 765F. Souvenirs
  4. 大刚二开emlog模板超级帅-全版本兼容-修复各种bug
  5. ubuntu classicmenu-indicator
  6. python是脚本语言_Python 脚本语言
  7. 网易2016游戏技术岗在线编程题(二)
  8. 全新防火墙6.0 单条PPPOE(ADSL)上网配置
  9. c语言opengles程序,OpenGL教程 OpenGL编程指南
  10. 08、ADS使用记录之低通滤波器设计与优化
  11. github下载加速的几种方法
  12. 新建STM32F427IIH标准库工程
  13. Linux内核自带SPI设备驱动测试程序分析:spidev_test.c
  14. 5个高清图片素材网站,免费商用,赶紧收藏~
  15. 96.(leaflet之家)leaflet态势标绘-进攻方向修改(燕尾)
  16. 基于最小割的分割算法(Min-Cut Based Segmentation)
  17. [LOJ#6617][THUPC2019]摆家具(矩阵乘法 + 子集和变换)
  18. 《小王子》中的经典语录(中英文对照)
  19. 在STM32中:CAN总线驱动
  20. 解锁oracle中的scott用户,Oracle 解锁scott用户

热门文章

  1. 装机量 2 亿,这款国产物联网操作系统为何是“小而美”?
  2. 如何成为一个成功的 Java 开发人员?
  3. 均薪连续三年过万,北上深人才需求大 !| 5G 人才报告
  4. 996 的程序员,只能云养娃吗?
  5. @程序员,你准备好推出自己的移动应用了吗?
  6. 调查全球 98,000 名程序员发现,PHP 遭厌弃,前端岗已饱和!
  7. 微软:Mozilla,我劝你拥抱 Chromium!
  8. 开源商业模式是万恶之本?
  9. 2019 年的 Linux 会如何?
  10. 扎克伯格、张一鸣的技术“原罪”