vault backup: 2022-09-02 15:02:08
This commit is contained in:
parent
fb2ec8c6c3
commit
29db588396
83
OJ notes/pages/Leetcode Pascal's-Triangle-II.md
Normal file
83
OJ notes/pages/Leetcode Pascal's-Triangle-II.md
Normal file
|
@ -0,0 +1,83 @@
|
|||
# Leetcode Pascal's-Triangle-II
|
||||
|
||||
2022-09-02 14:54
|
||||
|
||||
> ##### Algorithms:
|
||||
> #algorithm #recursion
|
||||
> ##### Data structures:
|
||||
> #DS #array
|
||||
> ##### Difficulty:
|
||||
> #coding_problem #difficulty-easy
|
||||
> ##### Additional tags:
|
||||
> #leetcode
|
||||
> ##### Revisions:
|
||||
> N/A
|
||||
|
||||
##### Links:
|
||||
- [Link to problem](https://leetcode.com/problems/pascals-triangle-ii/)
|
||||
___
|
||||
### Problem
|
||||
|
||||
Given an integer `rowIndex`, return the `rowIndexth` (**0-indexed**) row of the **Pascal's triangle**.
|
||||
|
||||
In **Pascal's triangle**, each number is the sum of the two numbers directly above it as shown:
|
||||
|
||||
![](https://upload.wikimedia.org/wikipedia/commons/0/0d/PascalTriangleAnimated2.gif)
|
||||
|
||||
#### Examples
|
||||
|
||||
**Example 1:**
|
||||
|
||||
**Input:** rowIndex = 3
|
||||
**Output:** [1,3,3,1]
|
||||
|
||||
**Example 2:**
|
||||
|
||||
**Input:** rowIndex = 0
|
||||
**Output:** [1]
|
||||
|
||||
**Example 3:**
|
||||
|
||||
**Input:** rowIndex = 1
|
||||
**Output:** [1,1]
|
||||
|
||||
#### Constraints
|
||||
|
||||
- `0 <= rowIndex <= 33`
|
||||
|
||||
### Thoughts
|
||||
|
||||
> [!summary]
|
||||
> This is a #recursion problem.
|
||||
|
||||
Because to get the nth row, we have to get the `n - 1` th
|
||||
row, we use recursion.
|
||||
|
||||
### Solution
|
||||
|
||||
```cpp
|
||||
class Solution {
|
||||
public:
|
||||
vector<int> getRow(int rowIndex) {
|
||||
// recursion
|
||||
|
||||
if (rowIndex == 0) {
|
||||
return {1};
|
||||
}
|
||||
|
||||
auto last = getRow(rowIndex - 1);
|
||||
|
||||
vector<int> ans;
|
||||
|
||||
ans.push_back(1);
|
||||
|
||||
for (int i = 1; i < rowIndex; i++) {
|
||||
ans.push_back(last[i] + last[i - 1]);
|
||||
}
|
||||
|
||||
ans.push_back(1);
|
||||
|
||||
return ans;
|
||||
}
|
||||
};
|
||||
```
|
Loading…
Reference in a new issue