The pattern has two parts – both mirror reflections of each other. The base of the triangle has to be at the bottom of the imaginary mirror and the tip at the top.
Illustration:
Input: size = 7 Output: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Approach:
Divide pattern into sub-patterns
- Divide this into two parts
- Upper part
- Lower part
- Both parts are a mirror reflection of each other. And each part comprises 2 triangles. Therefore, In total, we have to print 4 triangles to get the desired pattern.
Example 1: Upper Part
Java
// Java Program to Print Upper Part of Mirror Upper Star // Triangle Pattern // Importing input output classes import java.io.*; // Main Class class GFG { // Method 1 // To print upper part of the pattern private static void displayUpperPart( int size) { // Declaring variables for rows and columns // respectively int m, n; // Outer loop for rows for (m = size - 1 ; m >= 0 ; m--) { // Inner loop 1 // to print triangle 1 for (n = 0 ; n < m; n++) { // Printing whitespace System.out.print( " " ); } // Inner loop 2 // to print triangle 2 for (n = m; n <= size - 1 ; n++) { // Printing star with whitespace System.out.print( "*" + " " ); } // By now done with one row so next line System.out.println(); } } // Method 2 // Main driver method public static void main(String[] args) { // Declaring and initializing variables to // size of the triangle int size = 7 ; // Calling the above Method 1 to // print and display the upper part of triangle displayUpperPart(size); } } |
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
Example 2: Lower Part of the triangle
Java
// Java Program to Print Lower Part of Mirror Upper Star // Triangle Pattern // Importing input output classes import java.io.*; // Main Class class GFG { // Method 1 // To print lower part of the pattern private static void displayLowerPart( int size) { // Declaring variables for rows and columns // respectively int m, n; // Outer loop fo Rows for (m = 1 ; m <= size; m++) { // Inner loop 1 to print triangle 3 for (n = 1 ; n < m; n++) { // Printing whitespace System.out.print( " " ); } // Inner loop 2 to print triangle 4 for (n = m; n <= size; n++) { // Printing star and whitespace System.out.print( "*" + " " ); } // By now done with one row so new line System.out.println(); } } // Method 2 // Main driver method public static void main(String[] args) { // Declaring and initializing variable to // size of the triangle // This is number of rows int size = 7 ; // Calling the above Method1 // to display lower part of the triangle displayLowerPart(size); } } |
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
Example 3: Complete Mirror Upper Star Triangle Pattern
Java
// Java Program to Print Mirror upper Star triangle Pattern // Importing input output classes import java.io.*; // Main Class public class GFG { // Method 1 // To print upper part of the pattern private static void displayUpperPart( int size) { // Declaring variables for rows and columns // respectively int m, n; // Outer loop for rows for (m = size - 1 ; m >= 0 ; m--) { // Inner loop 1 for (n = 0 ; n < m; n++) { // Printing whitespace System.out.print( " " ); } // Inner loop 2 for (n = m; n <= size - 1 ; n++) { // Printing star with whitespace System.out.print( "*" + " " ); } // By now we are done with one row so new line System.out.println(); } } // Method 2 // To print lower part of the pattern private static void displayLowerPart( int size) { // Declaring variables for rows and columns // respectively int m, n; // Outer loop for rows for (m = 1 ; m <= size; m++) { // Inner loop 1 for (n = 1 ; n < m; n++) { // Printing whitespace System.out.print( " " ); } // Inner loop 2 for (n = m; n <= size; n++) { // Printing star and whitespace System.out.print( "*" + " " ); } // By now we are done with one row so new line System.out.println(); } } // Method 3 // Main driver method public static void main(String[] args) { // Declaring and initializing variable to // size of the triangle int size = 7 ; // Calling Method 1 to // display the upper part displayUpperPart(size); // Calling Method 2 to // display lower part displayLowerPart(size); } } |
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Time complexity: O(n2) where n is given input size
Auxiliary Space : O(1)