Minimum Absolute Distance Between Mirror Pairs
Medium
Watch on YouTube ↗Solution
class Solution {
public int minMirrorPairDistance(int[] nums) {
HashMap<Integer, Integer> hmap = new HashMap<>();
int n = nums.length;
int min = n+1;
// O(n)
// O(n)
for(int i=0; i<nums.length; i++) {
if(hmap.containsKey(nums[i]))
min = Math.min(min, Math.abs(i-hmap.get(nums[i])));
int mirror = getReverse(nums[i]);
hmap.put(mirror, i);
}
return min==n+1 ? -1 : min;
}
int getReverse(int num) {
int ans = 0;
while(num > 0) {
ans = ans*10 + num%10;
num = num/10;
}
return ans;
}
}