-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathRotate Matrix.java
More file actions
40 lines (27 loc) · 1.1 KB
/
Rotate Matrix.java
File metadata and controls
40 lines (27 loc) · 1.1 KB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//https://www.interviewbit.com/problems/rotate-matrix/
public class Solution {
public void rotate(ArrayList<ArrayList<Integer>> a) {
int N = a.size();
int S = N-1;
for(int ring = 0; ring < (int)Math.ceil(N/2.0); ring++){
for(int i = 0; i < N - 2*ring - 1; i++){
//p1
int p1 = a.get(ring).get(ring + i);
//p2
int p2 = a.get(ring + i).get(S - ring);
//p3
int p3 = a.get(S - ring).get(S - ring - i);
//p4
int p4 = a.get(S - ring - i).get(ring);
//p1 = p4
a.get(ring).set(ring + i, p4);
// p2 = p1
a.get(ring + i).set(S - ring, p1);
//p3 = p2
a.get(S - ring).set(S - ring - i, p2);
//p4 = p3
a.get(S - ring - i).set(ring, p3);
}
}
}
}