-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFlipAndInvertImage832.java
More file actions
54 lines (51 loc) · 1.56 KB
/
FlipAndInvertImage832.java
File metadata and controls
54 lines (51 loc) · 1.56 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
41
42
43
44
45
46
47
48
49
50
51
52
53
public class FlipAndInvertImage832 {
public static void main(String[] args) {
int[][] data = new int[4][];
data[0] = new int[5];
data[0][0] = 1;
data[0][1] = 1;
data[0][2] = 0;
data[0][3] = 0;
data[0][4] = 0;
data[1] = new int[5];
data[1][0] = 0;
data[1][1] = 1;
data[1][2] = 1;
data[1][3] = 1;
data[1][4] = 0;
data[2] = new int[] {0,0,1,1,1};
data[3] = new int[] {0,0,0,0,1};
int[][] ret = flipAndInvertImage(data);
}
public static int[][] flipAndInvertImage(int[][] A) {
for(int i = 0; i < A.length; i++) {
int[] row = A[i];
String rowStr = "";
for(int j = 0; j < row.length; j++) {
rowStr += "".equals(rowStr) ? "" : ",";
rowStr += row[j];
}
System.out.println("[" + i + "], length:" + row.length + " " + rowStr);
for(int j = 0; j < row.length / 2; j++) {
int swap = row[row.length - j - 1];
row[row.length - j - 1] = row[j] == 0 ? 1 : 0;
row[j] = swap == 0 ? 1 : 0;
System.out.println("(" + j + "-th) " + row[j] + " -th from last: " + row[row.length - j - 1] );
}
if(row.length % 2 == 1) {
row[row.length / 2] = row[row.length / 2] == 0 ? 1 : 0;
}
}
System.out.println();
for(int i = 0; i < A.length; i++) {
int[] row = A[i];
String rowStr = "";
for(int j = 0; j < row.length; j++) {
rowStr += "".equals(rowStr) ? "" : ",";
rowStr += row[j];
}
System.out.println("[" + i + "], length:" + row.length + " " + rowStr);
}
return null;
}
}