Skip to content

Commit 9ae14e3

Browse files
authored
Update 996-number-of-squareful-arrays.js
1 parent 5b30e2b commit 9ae14e3

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

996-number-of-squareful-arrays.js

+17-17
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,43 @@
33
* @return {number}
44
*/
55

6-
const numSquarefulPerms = function(A) {
7-
const cntMap = {};
8-
const squareMap = {};
9-
let cnt = 0;
6+
const numSquarefulPerms = function (A) {
7+
const cntMap = {}
8+
const squareMap = {}
9+
let cnt = 0
1010
for (let num of A) {
1111
if (!cntMap.hasOwnProperty(num)) {
12-
cntMap[num] = 1;
13-
squareMap[num] = new Set();
12+
cntMap[num] = 1
13+
squareMap[num] = new Set()
1414
} else {
15-
cntMap[num] = cntMap[num] + 1;
15+
cntMap[num] = cntMap[num] + 1
1616
}
1717
}
1818

1919
for (let num1 of Object.keys(cntMap)) {
2020
for (let num2 of Object.keys(cntMap)) {
21-
let c = Math.sqrt(+num1 + +num2);
21+
let c = Math.sqrt(+num1 + +num2)
2222
if (c === Math.floor(c)) {
23-
squareMap[num1].add(+num2);
24-
squareMap[num2].add(+num1);
23+
squareMap[num1].add(+num2)
24+
squareMap[num2].add(+num1)
2525
}
2626
}
2727
}
2828
for (let num of Object.keys(cntMap)) {
29-
countPerm(num, A.length - 1);
29+
countPerm(num, A.length - 1)
3030
}
31-
return cnt;
31+
return cnt
3232
function countPerm(num, left) {
33-
cntMap[num] = cntMap[num] - 1;
33+
cntMap[num] = cntMap[num] - 1
3434
if (left === 0) {
35-
cnt++;
35+
cnt++
3636
} else {
3737
for (let next of squareMap[num]) {
3838
if (cntMap[next] !== 0) {
39-
countPerm(next, left - 1);
39+
countPerm(next, left - 1)
4040
}
4141
}
4242
}
43-
cntMap[num] = cntMap[num] + 1;
43+
cntMap[num] = cntMap[num] + 1
4444
}
45-
};
45+
}

0 commit comments

Comments
 (0)