Skip to content

Commit 2b4cc17

Browse files
committed
✅ [2352] hash - bruteforcy
1 parent 40dedba commit 2b4cc17

File tree

3 files changed

+73
-1
lines changed

3 files changed

+73
-1
lines changed

2352/my_solution.js

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/**
2+
* @param {number[][]} grid
3+
* @return {number}
4+
*/
5+
var equalPairs = function (grid) {
6+
let rowMap = new Map(), colMap = new Map(), colList = []
7+
8+
for (let r = 0; r < grid.length; r++) {
9+
let key = JSON.stringify(grid[r])
10+
rowMap.set(key, (rowMap.get(key) ?? 0) + 1)
11+
for (let c = 0; c < grid[r].length; c++) {
12+
colList[c] = (colList[c] ?? []).concat(grid[r][c])
13+
}
14+
}
15+
16+
for (let i = 0; i < colList.length; i++) {
17+
let key = JSON.stringify(colList[i])
18+
colMap.set(key, (colMap.get(key) ?? 0) + 1)
19+
}
20+
21+
let pairCount = 0;
22+
for (let [key, value] of rowMap) {
23+
console.log("key")
24+
console.log(key)
25+
if (colMap.has(key)) {
26+
pairCount += colMap.get(key) * value
27+
}
28+
}
29+
30+
console.log(rowMap)
31+
console.log(colMap)
32+
console.log(colList)
33+
return pairCount
34+
};
35+
36+
let x =
37+
equalPairs([[13, 13], [13, 13]])
38+
equalPairs([[3, 2, 1], [1, 7, 6], [2, 7, 7]])
39+
// equalPairs([[3, 1, 2, 2], [1, 4, 4, 5], [2, 4, 2, 2], [2, 4, 2, 2]])
40+
41+
console.log("Res")
42+
console.log(x)

2352/solution.js

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number[][]} grid
3+
* @return {number}
4+
*/
5+
var equalPairs = function (grid) {
6+
let rowMap = new Map(), colMap = new Map(), colList = []
7+
8+
for (let r = 0; r < grid.length; r++) {
9+
let key = JSON.stringify(grid[r])
10+
rowMap.set(key, (rowMap.get(key) ?? 0) + 1)
11+
for (let c = 0; c < grid[r].length; c++) {
12+
colList[c] = (colList[c] ?? []).concat(grid[r][c])
13+
}
14+
}
15+
16+
for (let i = 0; i < colList.length; i++) {
17+
let key = JSON.stringify(colList[i])
18+
colMap.set(key, (colMap.get(key) ?? 0) + 1)
19+
}
20+
21+
let pairCount = 0;
22+
for (let [key, value] of rowMap) {
23+
if (colMap.has(key)) {
24+
pairCount += colMap.get(key) * value
25+
}
26+
}
27+
28+
return pairCount
29+
};

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
- [1971. Find if Path Exists in Graph](./1971/)
123123
- [2090. K Radius Subarray Averages](./2090/)
124124
- [2215. Find the Difference of Two Arrays](./2215/)
125+
- [2352. Equal Row and Column Pairs](./2352/)
125126
- [2373. Largest Local Values in a Matrix](./2373/)
126127
- [2448. Minimum Cost to Make Array Equal](./2448/)
127128

@@ -171,7 +172,7 @@ Batch create:
171172
NOTE: JS IS HERE
172173
-->
173174
```ssh
174-
chapter=1657 && mkdir ./$chapter && touch ./$chapter/my_solution.js && touch ./$chapter/solution.js && alias x="node ./$chapter/my_solution.js"
175+
chapter=2352 && mkdir ./$chapter && touch ./$chapter/my_solution.js && touch ./$chapter/solution.js && alias x="node ./$chapter/my_solution.js"
175176
```
176177
> then you can use `x` for quick debug.
177178

0 commit comments

Comments
 (0)