312-Burst-Balloons
0x0 题目详情
0x1 解题思路
0x2 代码实现
class Solution {
public int maxCoins(int[] nums) {
if(nums==null || nums.length==0){
return 0;
}
return recur(nums,0,nums.length-1);
}
//左闭右闭区间,返回在这个区间内的最高得分
private int recur(int[] nums,int left,int right){
if(left>right){
return 0;
}
if(left==right){
return (left-1<0?1:nums[left-1])*nums[left]*(right+1>=nums.length?1:nums[right+1]);
}
int result=Integer.MIN_VALUE;
for(int i=left;i<=right;i++){
result=Math.max(result,(left-1<0?1:nums[left-1])*nums[i]*(right+1>=nums.length?1:nums[right+1])+
recur(nums,left,i-1)+recur(nums,i+1,right));
}
return result;
}
}0x3 课后总结
Last updated