LeetCode 算法题解与代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
public int minMirrorPairDistance(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
int ans = Integer.MAX_VALUE;
for (int i = nums.length - 1; i >= 0; i--) {
int reverseNum = reverse(nums[i]);
if (map.containsKey(reverseNum)) {
ans = Math.min(ans, map.get(reverseNum) - i);
}
map.put(nums[i], i);
}
return ans == Integer.MAX_VALUE ? -1 : ans;
}

private int reverse(int num) {
int ret = 0;
while (num > 0) {
ret = ret * 10 + num % 10;
num /= 10;
}
return ret;
}
}

Comments