1

Print Diagonal

Difficulty: MEDIUM
Contributed By
Archit Sharma
Avg. time to solve
30 min
Success Rate
80%

Problem Statement

You are given a 2D matrix, your task is to return a 2D vector containing all elements of the matrix in a diagonal fashion.

Example:

Following will be the output of the above matrix:

1
5 2
9 6 3
13 10 7 4
14 11 8
15 12
16
Input Format:
The first line contains an Integer 'T' which denotes the number of test cases or queries to be run. Then the test cases follow.

The first line of each test case contains two space-separated integers ‘N’ and ‘M’ denoting the number of rows and columns of the matrix respectively.

N’ lines follow. Each of the next ‘N’ lines contains ‘M’ space-separated integers separated by space.
Output Format:
For each test case, return a 2D vector containing all elements of the matrix in a diagonal fashion.

The output of each test case should be printed in a separate line.
Note:
You are not required to print anything, it has already been taken care of. Just implement the function.
Constraints :
1 <= T <= 10
1 <= N <= 100
1 <= M <= 100
1 <= mat[i][j] <= 100

Time Limit : 1 sec.
Sample Input 1:
2
4 6
1 2 3 4 5 6
7 8 9 10 11 12 
13 14 15 16 17 18
19 20 21 22 23 24
4 4
1 2 3 4
6 7 8 9
11 12 13 14
16 17 18 19
Sample Output 1:
1
7 2
13 8 3
19 14 9 4
20 15 10 5
21 16 11 6
22 17 12
23 18 
24
1
6 2
11 7 3
16 12 8 4
17 13 9 
18 14
19 
Explanation For Sample Output 1 :
Test Case 1: 

In the above pic, arrow lines represent the diagonals of the matrix which are to be returned.
Test Case 2: 

In the above pic, arrow lines represent the diagonals of the matrix which are to be returned.
Sample Input 2:
2
5 4
1 2 3 4
5 6 7 8
9 10 11 12 
13 14 15 16
17 18 19 20
2 2
8 3
6 1
Sample Output 2:
1
5 2
9 6 3
13 10 7 4
17 14 11 8
18 15 12
19 16
20
8
6 3
1
Reset Code
Full screen
copy-code
Console