Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

877. 石子游戏 #3

Open
Ray-56 opened this issue Jun 2, 2020 · 0 comments
Open

877. 石子游戏 #3

Ray-56 opened this issue Jun 2, 2020 · 0 comments

Comments

@Ray-56
Copy link
Owner

Ray-56 commented Jun 2, 2020

干丫的算法之石子游戏【动态规划7】(12)

算法薄弱,每天一道算法题,突破自己

进入动态规划第七天,今天开始做动态规划难度中等

877. 石子游戏

题目

亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子 piles[i] 。

游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。

亚历克斯和李轮流进行,亚历克斯先开始。 每回合,玩家从行的开始或结束处取走整堆石头。 这种情况一直持续到没有更多的石子堆为止,此时手中石子最多的玩家获胜。

假设亚历克斯和李都发挥出最佳水平,当亚历克斯赢得比赛时返回 true ,当李赢得比赛时返回 false 。

示例1:

输入:[5,3,4,5]
输出:true
解释:
亚历克斯先开始,只能拿前 5 颗或后 5 颗石子 
假设他取了前 5 颗,这一行就变成了 [3,4,5] 
如果李拿走前 3 颗,那么剩下的是 [4,5],亚历克斯拿走后 5 颗赢得 10 分。
如果李拿走后 5 颗,那么剩下的是 [3,4],亚历克斯拿走后 4 颗赢得 9 分。
这表明,取前 5 颗石子对亚历克斯来说是一个胜利的举动,所以我们返回 true 

提示:

1. `2 <= piles.length <= 500`
2. `piles.length 是偶数`
3. `1 <= piles[i] <= 500`
4. `sum(piles) 是奇数`
@Ray-56 Ray-56 changed the title 石子游戏 877. 石子游戏 Jun 2, 2020
@Ray-56 Ray-56 added the 中等 label Jun 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant