美文网首页
396. 硬币排成线 III

396. 硬币排成线 III

作者: 薄荷糖的味道_fb40 | 来源:发表于2019-05-23 15:10 被阅读0次

描述

n 个硬币排成一条线, 第 i 枚硬币的价值为 values[i].
两个参赛者轮流从任意一边取一枚硬币, 直到没有硬币为止. 拿到硬币总价值更高的获胜.
请判定 第一个玩家 会赢还是会输.

样例

样例 1:

输入: [3, 2, 2]
输出: true
解释: 第一个玩家在刚开始的时候拿走 3, 然后两个人分别拿到一枚 2.
样例 2:

输入: [1, 20, 4]
输出: false
解释: 无论第一个玩家在第一轮拿走 1 还是 4, 第二个玩家都可以拿到 20.

思路:

dp[i][j]代表ij区间内先手总获益与后手总获益的插值,则
dp[i][j]=max(-dp[i+1][j]+values[i],-dp[i][j-1]+values[j])
代表了拿走最左和最右分别获益的最大值。具体实现如下。

class Solution {
public:
    /**
     * @param values: a vector of integers
     * @return: a boolean which equals to true if the first player will win
     */
    bool firstWillWin(vector<int> &values) {
        // write your code here
        int n=values.size();
        if(!n)
        {
            return 0;
        }
        vector<vector<int>> dp(n,vector<int>(n,0));
        for(int i=0;i<n;i++)
        {
            dp[i][i]=values[i];
        }
        for(int len=2;len<=n;len++)
        {
            for(int i=0;i<=n-len;i++)
            {
                int j=i+len-1;
                dp[i][j]=max(-dp[i+1][j]+values[i],-dp[i][j-1]+values[j]);
            }
        }
        return dp[0][n-1]>0?true:false;
    }
};

相关文章

  • 396. 硬币排成线 III

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

  • LintCode 硬币排成线

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

  • 394. 硬币排成线

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

  • 394. 硬币排成线

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

  • LintCode394 硬币排成线

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

  • 拿硬币

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

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

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

  • leetcode [动态规划] 给房子涂色 III

    5431. 给房子涂色 III 在一个小城市里,有 m 个房子排成一排,你需要给每个房子涂上 n 种颜色之一(颜色...

  • 396.分道

    以前看过,或是现在正在看,视为一生经典,也会随着时间而变的被淡忘,记忆模糊,甚至完全忘记。即使再刻骨铭心也会随着时...

  • 396. 迟到

    中途新接了一个班,接触一周多了,感觉整体来说很好。就是迟到现象相对严重。 怎么办呢?可以采取严厉的措施。但我并不是...

网友评论

      本文标题:396. 硬币排成线 III

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