/*
void rotate(int **a, int n) {
if(!a || n<2)
return;
int mid = n/2;
for(int i=0; i<mid; ++i) {
int len = n-1-i;
for(int j=i; j<len; ++j) {
int temp = a[i][j];
a[i][j] = a[n-1-j][i];
a[n-1-j][i] = a[n-1-i][n-1-j];
a[n-1-i][n-1-j] = a[j][n-1-i];
a[j][n-1-i] = temp;
}
}
}
*/
import java.io.*;
import java.util.*;
/*
* To execute Java, please define "static void main" on a class
* named Solution.
*
* If you need more classes, simply define them inline.
*/
class Solution {
public static void rotateMatrix(int[][] m, int s) {
if(m == null || s < 2) {
return;
}
int start = 0;
int end = s - 1;
while (end > start) {
for (int i = start; i < end; i++) {
int temp = m[i][start];
m[i][start] = m[start][end - i + start];
m[start][end - i + start] = m[end - i + start][end];
m[end - i + start][end] = m[end][i];
m[end][i] = temp;
}
start++;
end--;
// printMatrix(m);
}
}
public static void printMatrix(int[][] matrix) {
for (int r=0; r<matrix.length; ++r) {
for (int c=0; c<matrix.length; ++c) {
System.out.print(matrix[r][c]);
System.out.print(", ");
}
System.out.println();
}
System.out.println();
System.out.println();
}
public static void main(String[] args) {
int[][] matrix = {
{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}
};
printMatrix(matrix);
rotateMatrix(matrix, matrix.length);
printMatrix(matrix);
}
}
Created
November 8, 2017 03:18
-
-
Save ldong/9d27ec5ee36ff038a9dc7aeba82a3b9b to your computer and use it in GitHub Desktop.
rotate matrix
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.