Learn how to print the pascal triangle patterns in javascript.
Example
" 1 " " 1 1 " " 1 2 1 " " 1 3 3 1 " " 1 4 6 4 1 "
Implementation
To print the pascal triangle in pyramid pattern, we will add white space to the left and the right and use a formula to generate the numbers.
- We will use four loops to print the triangle in pyramid shape.
- There will be a main loop which will be printing the each row and the three inner loops will generate the numbers.
- First loop will add white space on the left, the second loop will generate the numbers with the formula
number = number * (i - j) / (j + 1);and the third loop will add the white space on right.
let pascalTriangle = (rows) => {
for(let i = 0; i < rows; i++){
let str = '';
let number = 1;
//Add the white space to the left
for(let k = 1; k <= (rows - i); k++){
str += ' ';
}
//Add the numbers sequence for each row
for(let j = 0; j <= i; j++){
str += number + ' ';
//Formula to calculate the pascal triangle
number = number * (i - j) / (j + 1);
}
//Add the white space to the right
for(let k = i + 1; k <= rows; k++){
str += ' ';
}
//Print the pattern for each row
console.log(str);
}
}
Input: pascalTriangle(5); Output: " 1 " " 1 1 " " 1 2 1 " " 1 3 3 1 " " 1 4 6 4 1 "
Time complexity: O(n ^ 2).
Space complexity: O(1).
Time and Space complexity
- It will take O(n) to generate the pascal triangle patterns with inner loops and we will be doing this for each row, So time complexity is O(n * n) = O(n ^ 2).
- We are using constant space, so Space complexity is O(1).