Header Ads Widget

Responsive Advertisement

Column Wise Traversal

 Column Wise Traversal

Send Feedback

Given a matrix, ‘A’ of size ‘N’ * ‘M’, you must traverse the matrix column-wise.

You must return an integer array of size ‘N’ * ‘M’ denoting the column-wise traversal of the matrix.

For example:

Input :
A = [ [1, 2, 3], [4, 5, 6] ]

Output :
1 4 2 5 3 6

Explanation: 
For the given matrix, the first column is [1, 4], the second is [2, 5] and the third is [3, 6].
For column-wise traversal, you must traverse the first column, the second column, and then the third.
Input Format:
First-line contains 'T,' denoting the number of Test cases.
For each Test case:
The first line contains two integers, ‘N' and ‘M’.
The following ‘N’ lines have ‘M’ integers each, denoting the matrix ‘A’.
Output Format:-
You must return the array with elements in order of column-wise traversal.
Note:-
You don’t need to print anything. Just implement the given function.
Constraints :
1 <= T <= 10
1 <= N * M <= 10^5
1 <= A[ i ][ j ] <= 10^9
Time Limit: 1 sec
Sample Input 1 :
2
2 2 
4 3
2 1
5 1
1 
2 
3 
4 
5
Sample Output 1 :
4 2 3 1
1 2 3 4 5 
Explanation Of Sample Input 1 :
For test case one:
Input :
A = [ [4, 3], [2, 1] ]
Output :
4 2 3 1
Explanation: For the given matrix, the first column is [4, 2], and the second is [3, 1].
For column-wise traversal, you need to traverse the first column and then the second column.

For test case two:
Input :
A = [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ] ]
Output :
1 2 3 4 5
Explanation: For the given matrix, the first column is [1, 2, 3, 4, 5].
For column-wise traversal, you need to traverse the first column.
Sample Input 2 :
2
1 1 
4
1 5
1 2 3 4 5
Sample Output 2 :
4
1 2 3 4 5 
code for this
public class Solution {
    public static int[] printColWise(int[][] a) {
        int numRows = a.length;
        int numCols = a[0].length;
        int[] result = new int[numRows * numCols];
        int index = 0;

        for (int j = 0; j < numCols; j++) {
            for (int i = 0; i < numRows; i++) {
                result[index++] = a[i][j];
            }
        }

        return result;
    }

    public static void main(String[] args) {
        // Sample input
        int[][] matrix1 = {{4, 3}, {2, 1}};
        int[][] matrix2 = {{1}, {2}, {3}, {4}, {5}};

        // Call the printColWise function for each test case
        int[] result1 = printColWise(matrix1);
        int[] result2 = printColWise(matrix2);

        // Print the results
        for (int num : result1) {
            System.out.print(num + " ");
        }
        System.out.println();

        for (int num : result2) {
            System.out.print(num + " ");
        }
    }
}

Post a Comment

0 Comments