首页 > 其他 > 详细

LeetCode - Burst Balloons

时间:2017-07-12 14:30:47      阅读:236      评论:0      收藏:0      [点我收藏+]

int max(int a,int b){
    if(a>b)return a;
    return b;
}
int maxCoins(int* nums, int numsSize) {
    int a[555];
    int n  = numsSize;
    int dp[555][555];
    memset(dp,0,sizeof(dp));
    for(int i = 1 ; i <= n ; i ++){
        a[i]=nums[i-1];
    }
    a[0] = a[n+1] = 1;
    for(int i = 1 ; i <= n ; i ++){
        dp[i][i] = a[i]*a[i-1]*a[i+1];
    }

    for(int k = 1 ; k <= n ; k ++){
        for(int i = 1 ; i + k <= n ; i ++){
            int l = i ;
            int r = i+k;

            for(int j = l ; j <= r ; j ++){
                dp[l][r] = max(dp[l][r],dp[i][j-1] + dp[j+1][r] + a[j]*a[l-1]*a[r+1]);
            }

        }
    }
    return dp[1][numsSize];
}

LeetCode - Burst Balloons

原文:http://www.cnblogs.com/clover-xuqi/p/7154883.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!