LeetCode 294. 翻转游戏 II(记忆化递归)
发布日期:2021-07-01 03:30:03
浏览次数:2
分类:技术文章
本文共 838 字,大约阅读时间需要 2 分钟。
文章目录
1. 题目
你和朋友玩一个叫做「翻转游戏」的游戏,
游戏规则:给定一个只有 + 和 - 的字符串。 你和朋友轮流将 连续 的两个"++"
反转成 "--"
。 当一方无法进行有效的翻转时便意味着游戏结束,则另一方获胜。 请你写出一个函数来判定起始玩家是否存在必胜的方案。
示例:输入: s = "++++"输出: true 解析: 起始玩家可将中间的 "++" 翻转变为 "+--+" 从而得胜。延伸:请推导你算法的时间复杂度。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/flip-game-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
class Solution { unordered_mapm;public: bool canWin(string s) { if(s.size() <= 1) return false; if(m.count(s)) return m[s]; string t; for(int i = 0; i < s.size()-1; ++i) { if(s[i]=='+' && s[i+1]=='+') { t = s; t[i]=t[i+1]='-'; if(!canWin(t)) { m[s] = true; return true; } } } m[s] = false; return false; }};
40 ms 11.8 MB
我的CSDN
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
转载地址:https://michael.blog.csdn.net/article/details/107571038 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月19日 10时57分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《增长黑客》(肖恩·艾利斯)学习笔记——第二部分 实战
2019-05-01
python使用HTMLTestRunner查看运行函数
2019-05-01
python的ImportError
2019-05-01
linux下安装jenkins+git+python
2019-05-01
解决uiautomatorviewer中添加xpath的方法
2019-05-01
性能测试的必要性评估以及评估方法
2019-05-01
Spark学习——利用Mleap部署spark pipeline模型
2019-05-01
Oracle创建表,修改表(添加列、修改列、删除列、修改表的名称以及修改列名)
2019-05-01
使用redis实现订阅功能
2019-05-01
对称加密整个过程
2019-05-01
java内存模型
2019-05-01
volatile关键字
2019-05-01
Servlet_快速入门
2019-05-01
Servlet_生命周期方法
2019-05-01
Servlet_体系结构
2019-05-01
Request_原理
2019-05-01
Request_继承体系
2019-05-01
前端权限控制:获取用户信息接口构造数据
2019-05-01
有状态服务和无状态服务
2019-05-01