首页 > 其他 > 详细

leetcode312

时间:2019-03-07 12:42:49      阅读:188      评论:0      收藏:0      [点我收藏+]
 1 class Solution {
 2     public int maxCoins(int[] iNums) {
 3     int[] nums = new int[iNums.length + 2];
 4     int n = 1;
 5     for (int x : iNums) if (x > 0) nums[n++] = x;
 6     nums[0] = nums[n++] = 1;
 7 
 8 
 9     int[][] dp = new int[n][n];
10     for (int k = 2; k < n; ++k)
11         for (int left = 0; left < n - k; ++left) {
12             int right = left + k;
13             for (int i = left + 1; i < right; ++i)
14                 dp[left][right] = Math.max(dp[left][right], 
15                 nums[left] * nums[i] * nums[right] + dp[left][i] + dp[i][right]);
16         }
17 
18     return dp[0][n - 1];
19     }
20 }

参考:https://leetcode.com/problems/burst-balloons/discuss/76228/Share-some-analysis-and-explanations

leetcode312

原文:https://www.cnblogs.com/asenyang/p/10488715.html

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