1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-09-19 17:56:55 +02:00
LeetCode/cpp/pascals-triangle.cpp

29 lines
706 B
C++
Raw Normal View History

class Solution {
int getN(const vector<int> &previousRow, int n) {
if (n == 0 || n == previousRow.size()) {
return 1;
}
return previousRow[n - 1] + previousRow[n];
}
public:
vector<vector<int>> generate(int numRows) {
if (numRows <= 0) {
return {};
}
vector<vector<int>> result{vector<int>{1}};
for (auto i = 2; i <= numRows; i++) {
auto &previous = result.back();
vector<int> current;
for (auto j = 0; j < i; j++) {
current.push_back(getN(previous, j));
}
result.push_back(move(current));
}
return result;
}
};