[Leetcode] 294. Flip Game II 解题报告
来源:互联网 发布:中国程序员网 编辑:程序博客网 时间:2024/05/24 03:30
题目:
You are playing the following Flip Game with your friend: Given a string that contains only these two characters: +
and -
, you and your friend take turns to flip two consecutive "++"
into "--"
. The game ends when a person can no longer make a move and therefore the other person will be the winner.
Write a function to determine if the starting player can guarantee a win.
For example, given s = "++++"
, return true. The starting player can guarantee a win by flipping the middle "++"
to become "+--+"
.
Follow up:
Derive your algorithm's runtime complexity.
思路:
这里需要注意一个转换:你自己可以保证赢的充要条件是你走完某一步之后,你的对手不可能赢。所以我们维护一个哈希表,里面记录所有不可能赢的字符串,一旦发现你走了某一步使得对手不可能赢,那么你就可以保证赢,否则你就不能保证你会赢。
代码:
class Solution {public: bool canWin(string s) { if (s.length() <= 1) { return false; } if(hash.count(s)) { return false; } for(int i = 0; i < s.length() - 1; ++i) { if (s[i] == '+' && s[i + 1] == '+') { string str(s); str[i] = str[i + 1] = '-'; if(!canWin(str)) { // if the opposite cannot win, then you can gaurantee to win hash.insert(str); return true; } } } return false; }private: unordered_set<string> hash;};
阅读全文
0 0
- [leetcode] 294. Flip Game II 解题报告
- [Leetcode] 294. Flip Game II 解题报告
- [leetcode] 293. Flip Game 解题报告
- [Leetcode] 293. Flip Game 解题报告
- LeetCode 294. Flip Game II
- Leetcode 293. Flip Game & 294. Flip Game II
- *LeetCode-Flip Game II
- poj1753 Flip Game 解题报告
- poj1753:Flip Game解题报告
- Leetcode Jump Game II 解题报告
- 【LeetCode】Jump Game II 解题报告
- [leetcode] 45. Jump Game II 解题报告
- [LeetCode] Jump Game II 解题报告
- leetcode解题报告:45. Jump Game II
- [Leetcode] 45. Jump Game II 解题报告
- 294. Flip Game II
- LeetCode 294. Flip Game II(反转游戏II)
- Leetcode 294. Flip Game II (回溯,记忆化)
- input file图片预览 兼容ie8+
- Mock方法介绍
- @PostConstruct使用说明
- Hibernate 自动建表默认编码格式改为UTF-8
- 支持向量机SVM 原理、推导与Matlab实现
- [Leetcode] 294. Flip Game II 解题报告
- jeesite框架下学习尝试集成swagger(1)
- IC提供商列表
- linux内核调度算法(2)--CPU时间片如何分配
- 以太坊平台实验手记
- win10安装Python扩展库curses
- 新博客地址:blog.chenyong.me
- FragmentTabHost的正确使用姿势
- ENVI\IDL 重采样 栅格单元大小设置