N

(Leet Code c++)Pascal's Triangle 본문

Leet Code 알고리즘

(Leet Code c++)Pascal's Triangle

naeunchan 2021. 7. 15. 14:50
728x90
반응형

118. Pascal's Triangle

 

Given an integer numRows, return the first numRows of Pascal's triangle.

In Pascal's triangle, each number is the sum of the two numbers directly above it as shown:

 

Example 1:

Input: numRows = 5 Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

Example 2:

Input: numRows = 1 Output: [[1]]

 

Constraints:

  • 1 <= numRows <= 30

파스칼의 삼각형을 DP로 구현.

 

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> answer;
        
        for(int i = 1; i <= numRows; i++){
            vector<int> v(i, 1);
            
            for(int j = 1; j < v.size() - 1; j++){
                v[j] = answer[i - 2][j - 1] + answer[i - 2][j];
            }
            
            answer.push_back(v);
        }
        
        return answer;
    }
};
728x90
반응형