Python中检查糖果删除游戏中第一个玩家是否获胜的程序?
假设我们有一个名为candies的数字列表,某人正在与他/她的朋友玩游戏。在每轮中,一个玩家可以删除任意两个具有相同值的相邻糖果。谁不能取走糖果就输了,而且玩家1先开始,我们必须检查玩家1是否会赢。还要检查whether player1 will win or not。
因此,如果输入为 nums = [2,2,5],则输出为True,因为如果玩家1选择2,那么其他玩家就无法取走任何糖果。
要解决此问题,我们将遵循以下步骤:
- stack:=新的栈
-
turns:=0
-
对于nums中的每个num,执行以下操作
- 如果stack不为空且stack的顶部与num相同,则
- 从stack弹出
-
turns:=turns + 1
-
否则,
- 将num压入stack中
- 如果stack不为空且stack的顶部与num相同,则
-
returns turns为奇数,则为true,否则为false