Merge pull request #29 from XiangSshou/patch-1

添加877.石子游戏数学分析部分的新思路
This commit is contained in:
程序员吴师兄 2019-07-04 15:38:10 +08:00 committed by GitHub
commit f4bc1cae70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -111,6 +111,14 @@ class Solution {
}
```
下面给给大家介绍一种简单的策略作为参考使用这种策略可以保证先取石头的喜羊羊一定能够获胜
首先分别计算出序号为奇数和序号为偶数的石头堆中的石头总数然后进行比较如果奇数堆石头总数更多则喜羊羊永远保证自己选取奇数石堆反之则选择偶数
举例来说假设石堆为 [ 51000023 ] 那么奇数石堆总和为 7 1 开始编号偶数石堆总数为 1003 则喜羊羊要保证自己永远选择偶数堆即第四堆和第二堆就可以取胜
但是这种选择方法得到的**结果未必是最优解**例如石堆为 [ 2135 ] 当使用动态规划确保喜羊羊和灰太狼都选择最优解的时候喜羊羊会拿走 [ 25 ] 两堆棋子而灰太狼则拿走 [ 13 ] 两堆但是使用这种策略在即使不是最优解的情况下依然可以保证喜羊羊胜利所以作为先手的喜羊羊必定有方法取得比赛的胜利
看完之后你的心情是怎么样的
此题的LeetCode 的评论区里一片吐槽**这是什么沙雕题目**
@ -123,4 +131,4 @@ class Solution {
![](https://bucket-1257126549.cos.ap-guangzhou.myqcloud.com/blog/fz0rq.png)
![](https://bucket-1257126549.cos.ap-guangzhou.myqcloud.com/blog/fz0rq.png)