Learn how to print the diamond pattern in javascript.
Example
" * " " *** " " ***** " " ******* " "*********" " ******* " " ***** " " *** " " * "
Implementation
Implementing an algorithm to print the diamond pattern may seem complicated but it is fairly simple. It is just like printing two pyramids in opposite direction.
- We will use 8 different loops to print the diamond pattern.
- These loops will be divided in two different sections.
- One will print the pyramid from top to bottom and second will print it from bottom to top.
- Each section will have an loop with three loops nested in it.
- The first nested loop will add white space on left, the second loop will add the
'*'
and the last loop will add the white space on the right.
let diamondPattern = (rows) => { //Print first half of the diamond for(let i = 1; i <= rows; i++){ let str = ''; //Add the white space to the left for(let k = 1; k <= (rows - i); k++){ str += ' '; } //Add the '*' for each row for(let j = 0; j != (2 * i - 1); j++){ str += '*'; } //Add the white space to the right for(let k = i + 1; k <= rows; k++){ str += ' '; } //Print the pyramid pattern for each row console.log(str); } //Print the second half of the diamond for(let i = rows - 1; i >= 1; i--){ let str = ''; //Add the white space to the left for(let k = 1; k <= (rows - i); k++){ str += ' '; } //Add the '*' for each row for(let j = 0; j != (2 * i - 1); j++){ str += '*'; } //Add the white space to the right for(let k = i + 1; k <= rows; k++){ str += ' '; } //Print the pyramid pattern for each row console.log(str); } }
Input: diamondPattern(5); Output: " * " " *** " " ***** " " ******* " "*********" " ******* " " ***** " " *** " " * "
Time complexity: O(n ^ 2).
Space complexity: O(1).
Time and Space complexity
- We are printing the each row of the pyramid by using three different loops which will take O(n) and we are doing this for n times so it is O(n * n) = O(n ^ 2). Now we are printing the pyramids in two different sections to make it diamond so O(n ^ 2) + O(n ^ 2) = O(2(n ^ 2)) = O(n ^ 2).
- We are using constant space, so Space complexity is O(1).