Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <vector>
- #include <iostream>
- using namespace std;
- class Solution {
- public:
- vector<vector<int>> generate(int numRows) {
- vector<vector<int>> result{};
- if (numRows == 0) {
- return result;
- }
- else {
- vector<int> temp{1};
- result.push_back(temp);
- helper(result, numRows);
- return result;
- }
- }
- void helper(vector<vector<int>> &result, int numRows) {
- vector<int> current = result[result.size() - 1];
- if (current.size() == numRows)
- return;
- vector<int> nextArray{1};
- auto current_it = current.begin();
- while(1) {
- if ((current_it + 1) == current.end()) {
- nextArray.push_back(1);
- break;
- }
- int current_val = *current_it++;
- int next_val = *current_it;
- nextArray.push_back(current_val + next_val);
- }
- result.push_back(nextArray);
- helper(result, numRows);
- }
- };
- int main(int argc, char**argv) {
- auto obj = Solution();
- vector<vector<int>> result = obj.generate(10);
- for (auto it = result.begin(); it != result.end(); ++it) {
- vector<int> current = *it;
- for (auto it = current.begin(); it != current.end(); ++it) {
- cout << *it << ',';
- }
- cout << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement