From dc2d3d3ff8762315dc2d1f93f252290d4e243b02 Mon Sep 17 00:00:00 2001 From: PRIYESHRANJAN10 <59314491+PRIYESHRANJAN10@users.noreply.github.com> Date: Tue, 21 Sep 2021 00:19:24 +0530 Subject: [PATCH] Rotate matrix by 90 degree (#2316) --- Others/RotateMatriceBy90Degree.java | 71 +++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Others/RotateMatriceBy90Degree.java diff --git a/Others/RotateMatriceBy90Degree.java b/Others/RotateMatriceBy90Degree.java new file mode 100644 index 00000000..53cc3c54 --- /dev/null +++ b/Others/RotateMatriceBy90Degree.java @@ -0,0 +1,71 @@ +package Others; + +/** + * Given a matrix of size n x n + * We have to rotate this matrix by 90 Degree + * Here is the algorithm for this problem . + * + */ + +import java.util.*; + +class Rotate_by_90_degree { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + int t = sc.nextInt(); + + while (t-- > 0) { + int n = sc.nextInt(); + int[][] arr = new int[n][n]; + + for (int i = 0; i < n; i++) + for (int j = 0; j < n; j++) + arr[i][j] = sc.nextInt(); + + Rotate g = new Rotate(); + g.rotate(arr); + printMatrix(arr); + + } + sc.close(); + } + + static void printMatrix(int arr[][]) { + for (int i = 0; i < arr.length; i++) { + for (int j = 0; j < arr[0].length; j++) + System.out.print(arr[i][j] + " "); + System.out.println(""); + } + } +} + +/** + * Class containing the algo to roate matrix by 90 degree + */ + +class Rotate { + static void rotate(int a[][]) { + int n = a.length; + for (int i = 0; i < n; i++) { + for (int j = 0; j < n; j++) { + if (i > j) { + int temp = a[i][j]; + a[i][j] = a[j][i]; + a[j][i] = temp; + } + } + } + int i = 0, k = n - 1; + while (i < k) { + for (int j = 0; j < n; j++) { + int temp = a[i][j]; + a[i][j] = a[k][j]; + a[k][j] = temp; + } + + i++; + k--; + } + + } +}