美文网首页LintCode解题思路
LintCode 硬币排成线

LintCode 硬币排成线

作者: Arnold134777 | 来源:发表于2016-03-26 21:30 被阅读121次

有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人获胜。

请判定 第一个玩家 是输还是赢?

样例
n = 1, 返回 true.

n = 2, 返回 true.

n = 3, 返回 false.

n = 4, 返回 true.

n = 5, 返回 true.

挑战
O(1) 时间复杂度且O(1) 存储。

分析:博弈的思想

public class Solution {
    /**
     * @param n: an integer
     * @return: a boolean which equals to true if the first player will win
     */
    public boolean firstWillWin(int n) {
        return !(n % 3 == 0);
    }
}

相关文章

  • LintCode 硬币排成线

    有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人...

  • LintCode394 硬币排成线

    问题: 有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚...

  • 394. 硬币排成线

    描述 有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬...

  • 394. 硬币排成线

    描述 有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬...

  • 396. 硬币排成线 III

    描述 有 个硬币排成一条线, 第 枚硬币的价值为 .两个参赛者轮流从任意一边取一枚硬币, 直到没有硬币为止. ...

  • 拿硬币

    有 n 个硬币排成一条线。两个参赛者轮流从右边依次拿走 1 或 2 个硬币,直到没有硬币为止。拿到最后一枚硬币的人...

  • Java 算法-硬币排成线II(动态规划)

      好久没有做面试题了,感觉自己的编程能力又变弱了。  今天在lintCode上做了一道题,关于动态规划,比较有意...

  • 程序员常用的刷题网站

    1、Lintcode Lintcode.com——LintCode网站是国内较大的在线编程&测评网站。此网站提供各...

  • Singleton

    lintcode: http://lintcode.com/en/problem/singleton/ Java ...

  • 二叉树非递归遍历——已通过LintCode

    先序遍历 LintCode题目链接 中序遍历 LintCode题目链接 后序遍历 LintCode题目链接由于在L...

网友评论

    本文标题:LintCode 硬币排成线

    本文链接:https://www.haomeiwen.com/subject/ecwdlttx.html