1.4 KiB
1.4 KiB
Leetcode Pascal's-Triangle-II
2022-09-02 14:54
Algorithms:
#algorithm #recursion
Data structures:
#DS #array
Difficulty:
#coding_problems #difficulty_easy
Additional tags:
#leetcode
Revisions:
N/A
Links:
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:
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.
Follow up of Leetcode Pascal's-Triangle
Because to get the nth row, we have to get the n - 1
th
row, we use recursion.
Solution
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;
}
};