Here we are getting a step ahead in printing patterns as in generic we usually play with columnar printing in the specific row keep around where elements in a row are either added up throughout or getting reduced but as we move forward we do start playing with rows which hold for outer loop in our program.
Illustrations:
A pyramid number pattern of row size r = 5 would look like: 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5
A pyramid number pattern of row size r = 4 would look like: 1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4
Approach:
- For loop will be used to print each row in the pyramid.
- Inside the for loop we will use two loops :
- One loop is used to print the spaces
- The second loop will be used to print the numbers.
Implementation:
Java
// Java Program to Print the Pyramid pattern // Main class public class GFG { // Main driver method public static void main(String[] args) { int num = 5 ; int x = 0 ; // Outer loop for rows for ( int i = 1 ; i <= num; i++) { x = i - 1 ; // inner loop for "i"th row printing for ( int j = i; j <= num - 1 ; j++) { // First Number Space System.out.print( " " ); // Space between Numbers System.out.print( " " ); } // Pyramid printing for ( int j = 0 ; j <= x; j++) System.out.print((i + j) < 10 ? (i + j) + " " : (i + j) + " " ); for ( int j = 1 ; j <= x; j++) System.out.print((i + x - j) < 10 ? (i + x - j) + " " : (i + x - j) + " " ); // By now we reach end for one row, so // new line to switch to next System.out.println(); } } } |
1 2 3 2 3 4 5 4 3 4 5 6 7 6 5 4 5 6 7 8 9 8 7 6 5
Time complexity: O(N^2) where N is given row size.
Auxiliary space: O(1), using constant extra space.