codinasion-archive / codinasion-monorepo

Community Monorepo
https://codinasion.org
MIT License
52 stars 170 forks source link

Cylindrically rotate a matrix by 90 degrees #4094

Open harshraj8843 opened 1 year ago

harshraj8843 commented 1 year ago

Description

Write a program to cylindrically rotate a matrix by 90 degrees

Input  :
1 2 3
4 5 6
7 8 9

Output :
7 4 1
8 5 2
9 6 3

Tracking Issues

savarsri commented 5 months ago

import java.util.Arrays;

public class Main { public static void main(String[] args) { int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };

    System.out.println("Original Matrix:");
    printMatrix(matrix);

    int[][] rotatedMatrix = rotateMatrix(matrix);

    System.out.println("Matrix after 90 degree rotation:");
    printMatrix(rotatedMatrix);
}

public static int[][] rotateMatrix(int[][] matrix) {
    int rows = matrix.length;
    int cols = matrix[0].length;

    int[][] rotatedMatrix = new int[cols][rows];

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            rotatedMatrix[j][rows - i - 1] = matrix[i][j];
        }
    }

    return rotatedMatrix;
}

public static void printMatrix(int[][] matrix) {
    for (int[] row : matrix) {
        System.out.println(Arrays.toString(row));
    }
}

}