Leetcode 1406. 石子游戏 III(DAY 59) ---- 动态规划学习期 (仔细思考后 以后必须上的课就看会书和看会网课打发时间)

原题题目

在这里插入图片描述



代码实现(首刷大部分看解小部分自解)

char * stoneGameIII(int* stoneValue, int stoneValueSize){
    
    
    int dp[50004] = {
    
    0},i,j,sum = 0;
    for(i=stoneValueSize-1;i>=0;i--)
    {
    
    
        dp[i] = INT_MIN;
        sum += stoneValue[i];
        for(j=1;j<=3;j++)
            dp[i] = fmax(sum - dp[i+j],dp[i]); 
    }
    if(dp[0] + dp[0] == sum)    return "Tie";
    else if(dp[0] + dp[0] < sum) return "Bob";
    else return "Alice"; 
}

猜你喜欢

转载自blog.csdn.net/qq_37500516/article/details/114370016