Problem of the day
Ninja loves playing with characters. So one day, he wants to arrange a few characters in the ‘N’ number of rows. The first row contains 1 character, the second row has two characters, the third row has 3 characters, and so on.
Ninja starts placing characters in increasing order, with an absolute difference of 1, starting from A and can go up to Z only.
You are given an integer ‘N’ denoting the given number of rows. Can you print the pattern Ninja wants to create?
Pattern for N = 3
A
BB
CCC
The first line contains ‘T’, denoting the number of test cases.
Each test case contains a single integer ‘N’, denoting the number of rows.
Output Format:
For each test case, print 'N' strings denoting the required pattern in the following ‘N’ lines.
Note:
You are not required to print the expected output. It has already been taken care of. Just implement the function.
1 <= T <= 10
1 <= N <= 26
Time Limit: 1 sec
2
3
4
A
BB
CCC
A
BB
CCC
DDDD
In the first test case, we are required to create a pattern consisting of 3 lines. First-line contains ‘A’. From the second line, we have to place a character one more than the previous value. So we place ‘B’.We put 2 ‘B’ and move to the following line because this line will contain only 2 elements. In the following line, we have to place 3 characters, so we place 3 ‘C’.
In the second test case, we are required to create a pattern consisting of 4 lines. First-line contains ‘A’. From the second line, we have to place a character one more than the previous value. So we place ‘B’.We put 2 ‘B’ and move to the following line because this line will contain only 2 elements. In the following line, we have to place 3 characters, so we place 3 ‘C’.In the next line, there will be 4 ‘D’.
2
7
2
A
BB
CCC
DDDD
EEEEE
FFFFFF
GGGGGGG
A
BB
Can you print one line at a time?
The key here is to traverse all the lines sequentially, and for each line, we print the required character at the given index.
The steps are as follows:
O(N*N), where N is the number of lines.
As we are printing every character of each line one at a time. The first line contains one character, the second line two, and so on. Hence the time required to print N lines is 1 + 2 + 3 + … + N = N * (N - 1)/2, which is equivalent to O(N*N).
Hence the overall time complexity is O(N*N).
O(N*N), where N is the number of lines.
We are using a matrix to store the pattern. Hence, the overall space complexity is O(N*N).