Mirror image of triangle

Easy
0/40
Average time to solve is 10m
profile
Contributed by
5 upvotes
Asked in companies
InfosysHewlett Packard EnterpriseAirtel

Problem statement

Ninja’s younger sister got a project to print the pattern for the given number of rows, say ‘N’. She finds it difficult to write such a pattern for every ‘N’.

Ninja decided to help his sister and decided to write a code for this but wasn't able to write the code for the same. Ninja wants help to write a code and asks you for help. Help Ninja.

Example:

Pattern for N = 2
    0
   101
  21012
Detailed explanation ( Input/output format, Notes, Images )
Input format :
The first line of input contains an integer ‘T’ denoting the number of test cases. And each test case follows:

Each test case contains an integer ‘N’ representing the number of rows.
Output format :
Each test case print 'N' strings denoting the required pattern of integers for a given integer ‘N’.

The output of each test case will be printed on a separate line
Constraints :
1 <= T <= 5
1 <= N <= 100

Time Limit: 1 sec.

Sample Input 1 :

2
1
2

Sample Output 1 :

 0
101
  0
 101
21012
Explanation for Sample Input 1 :
Test Case 1:
 For ‘N’  = 1 , we need to print 2 rows - in first row 0, and second row 1 0 1.
Test Case 2:
The Number of rows for ‘N’ = 2 will be 3.

Sample Input 2 :

2
3
4

Sample Output 2 :

    0
   101
  21012
 3210123
432101234
     0
    101
   21012
  3210123
 432101234
54321012345
Hint

Observe the pattern and try using nested iterations.

Approaches (1)
Nested Iterations

The idea is to use nested iterations for generating spaces and the digits inside the pattern.

 

Approach :

 

  • First, initialize two integer variables, say ‘number1’ and ‘number2’ to print the digits in the pattern and initialize both the variables with value = 1;
  • Make an iteration with iterator pointer ‘i’ to print the number of rows which will iterate from 0 to ‘N’.
    • Make a nested iteration to generate the spaces in the pattern with an iterator pointer ‘j’ which will iterate from ‘N’ - 1 to ‘i’ and print the spaces.
    • Make an iteration to print the digits inside the pattern with an iterator pointer ’k’ from 1 to ‘number1’and print the value = (‘k’ - ‘number2’).
    • Increment ‘number1’ with value 2.
    • Increment ‘number2’ with value 1.
    • Leave a line after that.
Time Complexity

O(N ^ 2), where ‘N’ is the given integer.

 

As, we are making an iteration ‘N’ number of times to print different rows in the pattern and at max (2 * (N + 1)) columns for the pattern with nested iterations. Therefore, overall time complexity will be O(N ^ 2).

Space Complexity

O(1)

 

As we are using constant space. Therefore, space complexity will be O(1).

Code Solution
(100% EXP penalty)
Mirror image of triangle
All tags
Sort by
Search icon

Interview problems

Easy python solution

def pattern(n):

    s = ""

    for i in range(1, n+2):

        count = i-1

        for k in range(n-i+1):

            s += " "

        for j in range(2*i):

            if count > 0:

                s += str(count)

                count -= 1

        

        print(s + "".join(map(str, list(range(0, i)))))

        s = ""

6 views
0 replies
0 upvotes

Interview problems

python

def pattern(n):

    for i in range(n+1):

        for j in range(i,n):

            print(" ",end="")

        for j in range(i,-1,-1):

            print(j,end="")

        for j in range(1,i+1):

            print(j,end="")

        print()

    print()

    

20 views
0 replies
0 upvotes

Interview problems

Why i cant see any of my output being returned

def pattern(n):

    triangle = []

    row = [0]

    triangle.append(row)

    for i in range(1, n + 1):

        row2 = [0] * ((2 * i) + 1)

        temp=i

        increment=True                         

        for j in range(0, len(row2)):

            if temp>=0:

                # print(temp)

                row2[j]=temp

                if temp==0:

                    increment=False

                if increment:

                    temp-=1

                else:

                    temp+=1

        triangle.append(row2)

    return triangle

python

21 views
0 replies
1 upvote

Interview problems

Mirror image of triangle

#include <bits/stdc++.h> 

void pattern(int n)

{

   

    int space=n;

    string a="0";

    int i=0;

 

     while(n-->=0)

     {

         int k=space;

         while(k--)

         cout<<" ";

         if(i!=0)

         {

             a=to_string(i)+a+to_string(i);

         }

         cout<<a<<" ";

         cout<<endl;

         i++;

         space--;

 

     }

}

88 views
0 replies
0 upvotes

Interview problems

Using Java Programming Language.All test cases passed

import java.util.* ;

import java.io.*; 

 

public class Solution {

    public static void NumberPattern(int n) {

        // Write your code here

        for(int i=0;i<=n;i++)

        {

            for(int j=n-i-1;j>=0;j--)

            {

                System.out.print(" ");

            }

            for(int j=0;j<=n-(n-i);j++)

            {

                System.out.print(Math.abs(j-i));

            }

            for(int j=1;j<=i;j++)

            {

                System.out.print(j);

            }

            System.out.println();

        }

    }

 

}

 

65 views
0 replies
1 upvote

Interview problems

Number Pattern

import java.util.* ;
import java.io.*; 

public class Solution {
	public static void NumberPattern(int n) {
		// Write your code here
        int count =0;
        for(int i=0;i<=n;i++){
            for(int j=0;j<n-i;j++){
                System.out.print(" ");
            }
            if(i==0){
                System.out.print('0');
            }else{
                for(int k=i;k>=0;k--){
                    System.out.print(k);
                }
                for(int k =1;k<=i;k++){
                    System.out.print(k);
                }
            }
          
            System.out.println();
        }
	}

}
49 views
0 replies
0 upvotes

Interview problems

Mirror image of triangle

#include <bits/stdc++.h> 
void pattern(int n)
{
    for(int i=0;i<=n;i++){
        for(int j=i;j<n;j++){
            cout<<" ";
        }
        for(int j=i;j>=0;j--){
            cout<<j;
        }
        for(int j=1;j<=i;j++){
            cout<<j;
        }
        cout<<endl;
    }
}

Mirror image of triangle

93 views
0 replies
0 upvotes

Discussion thread on Interview Problem | Mirror image of triangle

Hey everyone, creating this thread to discuss the interview problem - Mirror image of triangle.

 

Practise this interview question on Coding Ninjas Studio (hyperlinked with the following link): Mirror image of triangle

 

100 views
4 replies
0 upvotes
Full screen
Console