vault backup: 2022-07-20 23:07:14
This commit is contained in:
parent
cc1da4d25c
commit
edd188ef3f
69
OJ notes/pages/Leetcode Triangle.md
Normal file
69
OJ notes/pages/Leetcode Triangle.md
Normal file
|
@ -0,0 +1,69 @@
|
|||
# Leetcode Triangle
|
||||
|
||||
#### 2022-07-20 22:59
|
||||
|
||||
> ##### Algorithms:
|
||||
> #algorithm #dynamic_programming
|
||||
> ##### Difficulty:
|
||||
> #coding_problem #difficulty-medium
|
||||
> ##### Additional tags:
|
||||
> #leetcode
|
||||
> ##### Revisions:
|
||||
> N/A
|
||||
|
||||
##### Related topics:
|
||||
```expander
|
||||
tag:#dynamic_programming
|
||||
```
|
||||
|
||||
|
||||
##### Links:
|
||||
- [Link to problem](https://leetcode.com/problems/triangle/)
|
||||
___
|
||||
### Problem
|
||||
|
||||
Given a `triangle` array, return _the minimum path sum from top to bottom_.
|
||||
|
||||
For each step, you may move to an adjacent number of the row below. More formally, if you are on index `i` on the current row, you may move to either index `i` or index `i + 1` on the next row.
|
||||
|
||||
#### Examples
|
||||
|
||||
**Example 1:**
|
||||
|
||||
```
|
||||
**Input:** triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]
|
||||
**Output:** 11
|
||||
**Explanation:** The triangle looks like:
|
||||
2
|
||||
3 4
|
||||
6 5 7
|
||||
4 1 8 3
|
||||
The minimum path sum from top to bottom is 2 + 3 + 5 + 1 = 11 (underlined above).
|
||||
```
|
||||
|
||||
**Example 2:**
|
||||
|
||||
```
|
||||
**Input:** triangle = [[-10]]
|
||||
**Output:** -10
|
||||
```
|
||||
|
||||
#### Constraints
|
||||
|
||||
- `1 <= triangle.length <= 200`
|
||||
- `triangle[0].length == 1`
|
||||
- `triangle[i].length == triangle[i - 1].length + 1`
|
||||
- `-104 <= triangle[i][j] <= 104`
|
||||
|
||||
### Thoughts
|
||||
|
||||
> [!summary]
|
||||
> This is a #dynamic_programming problem.
|
||||
|
||||
Same as in [[Leetcode House-Robber]], there are four stages to optimization:
|
||||
|
||||
#### Stage 1: ordinary recursion
|
||||
|
||||
#### Stage 2: recursion with caching
|
||||
|
||||
### Solution
|
Loading…
Reference in a new issue