当前位置:网站首页>LeetCode 312. Poke balloon daily
LeetCode 312. Poke balloon daily
2022-07-07 16:59:00 【@Little safflower】
Problem description
Yes n A balloon , The number is 0 To n - 1, Each balloon is marked with a number , There are arrays of these numbers nums in .
Now I ask you to prick all the balloons . Pierce the second i A balloon , You can get nums[i - 1] * nums[i] * nums[i + 1] Coin . there i - 1 and i + 1 For and on behalf of i The serial number of the two adjacent balloons . If i - 1 or i + 1 Beyond the bounds of the array , Then think of it as a number for 1 The balloon .
Find the maximum number of coins you can get .
Example 1:
Input :nums = [3,1,5,8]
Output :167
explain :
nums = [3,1,5,8] --> [3,5,8] --> [3,8] --> [8] --> []
coins = 3*1*5 + 3*5*8 + 1*3*8 + 1*8*1 = 167
Example 2:Input :nums = [1,5]
Output :10
Tips :
n == nums.length
1 <= n <= 300
0 <= nums[i] <= 100source : Power button (LeetCode)
link :https://leetcode.cn/problems/burst-balloons
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Java
class Solution {
public int maxCoins(int[] nums) {
int n = nums.length;
int[] arr = new int[n + 2];
arr[0] = arr[n + 1] = 1;
for(int i = 0;i < n;i++) arr[i + 1] = nums[i];
int[][] dp = new int[n + 2][n + 2];
for(int i = n - 1;i >= 0;i--){
for(int j = i + 2;j <= n + 1;j++){
// First find two boundaries i and j, Then poke the balloon between them , Open range
for(int k = i + 1;k < j;k++){
// Number i To number j The maximum score is : Number i To number k Score of + Number k To number j Score of + The stamp number is k Score of
dp[i][j] = Math.max(
dp[i][j],
dp[i][k] + dp[k][j] + arr[i] * arr[k] * arr[j]
);
}
}
}
// The number is 1 To No n The balloon with the highest score
return dp[0][n + 1];
}
}边栏推荐
- 【DesignMode】模板方法模式(Template method pattern)
- Binary search tree (features)
- 【图像传感器】相关双采样CDS
- [PHP] PHP interface inheritance and interface multi inheritance principle and implementation method
- DAPP defi NFT LP single and dual currency liquidity mining system development details and source code
- 一文读懂数仓中的pg_stat
- Advanced C language -- function pointer
- 低代码(lowcode)帮助运输公司增强供应链管理的4种方式
- [designmode] template method pattern
- 【医学分割】attention-unet
猜你喜欢
作为Android开发程序员,android高级面试

Arduino 控制的双足机器人

Personal notes of graphics (4)

Master this promotion path and share interview materials

最新Android面试合集,android视频提取音频

Sort out several important Android knowledge and advanced Android development interview questions

Imitate the choice of enterprise wechat conference room

QT 图片背景色像素处理法

Cesium(3):ThirdParty/zip. js

记录Servlet学习时的一次乱码
随机推荐
As an Android Developer programmer, Android advanced interview
Opencv personal notes
Direct dry goods, 100% praise
全网“追杀”钟薛高
LeetCode 312. 戳气球 每日一题
打造All-in-One应用开发平台,轻流树立无代码行业标杆
作为Android开发程序员,android高级面试
网关Gateway的介绍与使用
time标准库
射线与OBB相交检测
运算符
Have fun | latest progress of "spacecraft program" activities
Prediction - Grey Prediction
Cesium (4): the reason why gltf model is very dark after loading
Arduino 控制的双足机器人
Interface oriented programming
偶然升职的内心独白
Personal notes of graphics (2)
最新阿里P7技术体系,妈妈再也不用担心我找工作了
LeetCode-SQL第一天