Count Nice Pairs in an Array LeetCode solution in Java
1class Solution {2public int countNicePairs(int[] nums) {3final int mod = 1000000007;4int len = nums.length;5for (int i = 0; i < len; i++) {6nums[i] = nums[i] - reverse(nums[i]);7}8Arrays.sort(nums);9long res = 0;10for (int i = 0; i < len - 1; i++) {11long count = 1;12while (i < len - 1 && nums[i] == nums[i + 1]) {13count++;14i++;15}16res = (res % mod + (count * (count - 1)) / 2) % mod;17}1819return (int) (res % mod);20}2122private int reverse(int num) {23int rev = 0;24while (num > 0) {25rev = rev * 10 + num % 10;26num /= 10;27}28return rev;29}30}