Count Nice Pairs in an Array LeetCode solution in Java

1
class Solution {
2
public int countNicePairs(int[] nums) {
3
final int mod = 1000000007;
4
int len = nums.length;
5
for (int i = 0; i < len; i++) {
6
nums[i] = nums[i] - reverse(nums[i]);
7
}
8
Arrays.sort(nums);
9
long res = 0;
10
for (int i = 0; i < len - 1; i++) {
11
long count = 1;
12
while (i < len - 1 && nums[i] == nums[i + 1]) {
13
count++;
14
i++;
15
}
16
res = (res % mod + (count * (count - 1)) / 2) % mod;
17
}
18

19
return (int) (res % mod);
20
}
21

22
private int reverse(int num) {
23
int rev = 0;
24
while (num > 0) {
25
rev = rev * 10 + num % 10;
26
num /= 10;
27
}
28
return rev;
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0