LeetCode 294. Flip Game II(反转游戏II)
2016-04-16 09:03
375 查看
原题网址:https://leetcode.com/problems/flip-game-ii/
You are playing the following Flip Game with your friend: Given a string that contains only these two characters:
you and your friend take turns to flip twoconsecutive
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
flipping the middle
Follow up:
Derive your algorithm's runtime complexity.
方法:MinMax算法,深度优先搜索
这道题有个很牛的算法,我没看懂。。。
参考:
https://leetcode.com/discuss/64344/theory-matters-from-backtracking-128ms-to-dp-0ms
http://www.1point3acres.com/bbs/thread-144510-1-1.html
http://www.1point3acres.com/bbs/thread-137953-1-1.html
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 twoconsecutive
"++"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.
方法:MinMax算法,深度优先搜索
public class Solution { private boolean canWin(char[] sa) { for(int i=0; i<sa.length-1; i++) { if (sa[i]=='+' && sa[i+1]=='+') { sa[i]='-'; sa[i+1]='-'; boolean otherCanWin = canWin(sa); sa[i]='+'; sa[i+1]='+'; if (!otherCanWin) return true; } } return false; } public boolean canWin(String s) { return canWin(s.toCharArray()); } }
这道题有个很牛的算法,我没看懂。。。
参考:
https://leetcode.com/discuss/64344/theory-matters-from-backtracking-128ms-to-dp-0ms
http://www.1point3acres.com/bbs/thread-144510-1-1.html
http://www.1point3acres.com/bbs/thread-137953-1-1.html
相关文章推荐
- mysql学习(列属性)
- semantic web
- Druid 配置
- 开发中的BUG
- Centos6.5 mysql安装
- UI-UIScrollView
- ubuntu终端的颜色设置
- Centos6.5 mysql安装
- iOS学习笔记29-系统服务(二)通讯录
- LeetCode *** 213. House Robber II
- nyoj 38 布线问题
- AFNetworking网络请求networkactivityindicator不显示
- 解决VirtualBox“不能为虚拟机xxxx电脑 打开一个新任务”
- vim 插件之vundle
- ORA-00130:invalidlisteneraddress
- 053(二十四)
- iOS学习笔记29-系统服务(二)通讯录
- 由I2C学通信时序
- angular自定义表单验证----用户名唯一
- vim学习笔记