Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 58b5c6d

Browse files
committed
Create 0312. 戳气球.md
1 parent 6acd7f7 commit 58b5c6d

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

‎Solutions/0312. 戳气球.md‎

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# [0312. 戳气球](https://leetcode.cn/problems/burst-balloons/)
2+
3+
- 标签:数组、动态规划
4+
- 难度:困难
5+
6+
## 题目大意
7+
8+
**描述**:有 $n$ 个气球,编号为 0ドル \sim n - 1,ドル每个气球上都有一个数字,这些数字存在数组 $nums$ 中。现在开始戳破气球。其中戳破第 $i$ 个气球,可以获得 $nums[i - 1] \times nums[i] \times nums[i + 1]$ 枚迎宾,这里的 $i - 1$ 和 $i + 1$ 代表和 $i$ 相邻的两个气球的编号。如果 $i - 1$ 或 $i + 1$ 超出了数组的边界,那么就当它是一个数字为 1ドル$ 的气球。
9+
10+
**要求**:求出能获得硬币的最大数量。
11+
12+
**说明**:
13+
14+
- $n == nums.length$。
15+
- 1ドル \le n \le 300$。
16+
- 0ドル \le nums[i] \le 100$。
17+
18+
**示例**:
19+
20+
- 示例 1:
21+
22+
```Python
23+
输入:nums = [3,1,5,8]
24+
输出:167
25+
解释:
26+
nums = [3,1,5,8] --> [3,5,8] --> [3,8] --> [8] --> []
27+
coins = 3*1*5 + 3*5*8 + 1*3*8 + 1*8*1 = 167
28+
```
29+
30+
- 示例 2:
31+
32+
```Python
33+
输入:nums = [1,5]
34+
输出:10
35+
解释:
36+
nums = [1,5] --> [5] --> []
37+
coins = 1*1*5 + 1*5*1 = 10
38+
```
39+
40+
## 解题思路
41+
42+
### 思路 1:动态规划
43+
44+
###### 1. 划分阶段
45+
46+
按照 进行阶段划分。
47+
48+
###### 2. 定义状态
49+
50+
定义状态 $dp[i]$ 表示为:。
51+
52+
###### 3. 状态转移方程
53+
54+
55+
56+
###### 4. 初始条件
57+
58+
59+
60+
###### 5. 最终结果
61+
62+
根据我们之前定义的状态,$dp[i]$ 表示为:。 所以最终结果为 $dp[size]$。
63+
64+
### 思路 1:代码
65+
66+
```Python
67+
68+
```
69+
70+
### 思路 1:复杂度分析
71+
72+
- **时间复杂度**:
73+
- **空间复杂度**:

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /