|
1 | 1 | class Solution {
|
2 |
| - public int equalPairs(int[][] grid) { |
3 |
| - Map<String, Integer> map = new HashMap<>(); |
4 |
| - int rows = grid.length; |
5 |
| - int cols = grid[0].length; |
6 |
| - for (int i = 0; i < rows; i++) { |
7 |
| - StringBuilder sb = new StringBuilder(); |
8 |
| - for (int j = 0; j < cols; j++) { |
9 |
| - sb.append(grid[i][j]).append("|"); |
10 |
| - } |
11 |
| - String key = sb.toString(); |
12 |
| - map.put(key, map.getOrDefault(key, 0) + 1); |
| 2 | + public int equalPairs(int[][] grid) { |
| 3 | + Map<String, Integer> rowMap = new HashMap<>(); |
| 4 | + for (int[] value : grid) { |
| 5 | + StringBuilder sb = new StringBuilder(); |
| 6 | + for (int j = 0; j < grid[0].length; j++) { |
| 7 | + sb.append(value[j]).append("|"); |
| 8 | + } |
| 9 | + String key = sb.toString(); |
| 10 | + rowMap.put(key, rowMap.getOrDefault(key, 0) + 1); |
| 11 | + } |
| 12 | + int count = 0; |
| 13 | + for (int i = 0; i < grid[0].length; i++) { |
| 14 | + StringBuilder sb = new StringBuilder(); |
| 15 | + for (int[] ints : grid) { |
| 16 | + sb.append(ints[i]).append("|"); |
| 17 | + } |
| 18 | + String key = sb.toString(); |
| 19 | + count += rowMap.getOrDefault(key, 0); |
| 20 | + } |
| 21 | + return count; |
13 | 22 | }
|
14 |
| - int count = 0; |
15 |
| - for (int i = 0; i < cols; i++) { |
16 |
| - StringBuilder sb = new StringBuilder(); |
17 |
| - for (int j = 0; j < rows; j++) { |
18 |
| - sb.append(grid[j][i]).append("|"); |
19 |
| - } |
20 |
| - String key = sb.toString(); |
21 |
| - count += map.getOrDefault(key, 0); |
22 |
| - } |
23 |
| - return count; |
24 |
| - } |
25 | 23 | }
|
0 commit comments