Pascal's Triangle is a triangular array of numbers where:
1
.Given an integer numRows
, construct Pascal's Triangle as a 2D array with exactly numRows
rows. Each row should only contain the elements that belong to the triangle (no trailing zeros).
To construct a 2-dimensional array that represents Pascal's Triangle.
pascalTriangle
of size numRows x numRows
initialized with 0s.cols
and initialize it to 0. This variable will keep track of the number of columns in the current row.i
from 0 to numRows - 1
):
cols
by 1 for each new row.j
from 0 to cols - 1
):
j
is 0 or j
is cols - 1
, assign the value 1
to pascalTriangle[i][j]
. This handles the edges of the triangle.pascalTriangle[i][j]
to the sum of the two numbers directly above it in the triangle (pascalTriangle[i-1][j-1]
and pascalTriangle[i-1][j]
).Input:
numRows = 5
Output:
[
[1],
[1, 1],
[1, 2, 1],
[1, 3, 3, 1],
[1, 4, 6, 4, 1]
]
https://leetcode.com/problems/pascals-triangle/description/
Loading component...
Loading component...
Main Function is not defined.
vector<vector<int>>generate(int numRows){
int cols =0;
vector<vector<int>>pascal(numRows,vector<int>(numRows,0));
for(int i = 0; i< numRows; i++){
cols++;
for(int j =0; j< cols; j++){
if(j == 0 || j == cols-1){
pascal[i][j] =1;
}
else{
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
}
}
}
int rows = pascal.size();
for(int i = 0; i < rows; i++){
int colums = pascal[i].size();
for(int j = 0; j< columns; j++){
if(pascal[i][j]==0){
pascal[i].pop_back();
}
}
}
return pascal;
}//function end
Utility Function is not required.