118. Pascal's Triangle
Difficulty: Easy
Topics: Array
Similar Questions:
Problem:
Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
Solutions:
class Solution {
public:
vector<vector<int>> generate(int numRows) {
vector<vector<int>> ret;
if (numRows < 1) return ret;
ret.push_back({1});
for (int i = 1; i < numRows; ++i) {
vector<int> row (i + 1, 1);
for (int j = 1; j < i; ++j) {
row[j] = ret.back()[j-1] + ret.back()[j];
}
ret.push_back(row);
}
return ret;
}
};