Avatar

Organizations

2 results for 博弈
  • 给你一个整数数组 nums 。玩家 1 和玩家 2 基于这个数组设计了一个游戏。

    玩家 1 和玩家 2 轮流进行自己的回合,玩家 1 先手。开始时,两个玩家的初始分值都是 0。每一回合,玩家从数组的任意一端取一个数字(即,nums[0]nums[nums.length - 1]),取到的数字将会从数组中移除(数组长度减 1)。玩家选中的数字将会加到他的得分上。当数组中没有剩余数字可取时,游戏结束。

    如果玩家 1 能成为赢家,返回 true 。如果两个玩家得分相等,同样认为玩家 1 是游戏的赢家,也返回 true。你可以假设每个玩家的玩法都会使他的分数最大化。

    leetcode 中等 递归 数组 数学 Created Tue, 13 Sep 2022 13:43:09 +0800
  • 两位玩家分别扮演猫和老鼠,在一张 无向 图上进行游戏,两人轮流行动。

    图的形式是:graph[a] 是一个列表,由满足 ab 是图中的一条边的所有节点 b 组成。

    老鼠从节点 1 开始,第一个出发;猫从节点 2 开始,第二个出发。在节点 0 处有一个洞。

    在每个玩家的行动中,他们 必须 沿着图中与所在当前位置连通的一条边移动。例如,如果老鼠在节点 1 ,那么它必须移动到 graph[1] 中的任一节点。

    此外,猫无法移动到洞中(节点 0)。

    然后,游戏在出现以下三种情形之一时结束:

    • 如果猫和老鼠出现在同一个节点,猫获胜。
    • 如果老鼠到达洞中,老鼠获胜。
    • 如果某一位置重复出现(即,玩家的位置和移动顺序都与上一次行动相同),游戏平局。

    给你一张图 graph ,并假设两位玩家都都以最佳状态参与游戏:

    • 如果老鼠获胜,则返回 1
    • 如果猫获胜,则返回 2
    • 如果平局,则返回 0