Check If Array Pairs Are Divisible by k LeetCode solution in JavaScript

1
/**
2
* @param {number[]} arr
3
* @param {number} k
4
* @return {boolean}
5
*/
6
var canArrange = function (arr, k) {
7
let result = new Array(k).fill(0);
8
let tmp;
9

10
//caculate the number of all mod
11
for (let i = 0; i < arr.length; i++) {
12
tmp = arr[i];
13

14
//caculate the mod
15
if (tmp >= k || tmp <= -k) tmp %= k;
16

17
//turn negative to Positive number, so it could use as array's index
18
if (tmp < 0) tmp += k;
19

20
result[tmp] += 1; //counting
21
}
22

23
//Notice when i=0 and i==k-i
24
if (result[0] % 2 == 1) return false;
25
for (let i = 1; i < Math.ceil(result.length / 2); i++) {
26
if (i == k - 1 && result[i] % 2 == 1) return false;
27
if (result[i] != result[k - i]) return false;
28
}
29
return true;
30
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0