给你一个整数数组 nums。
镜像对 是指一对满足下述条件的下标 (i, j):
0 <= i < j < nums.length,并且reverse(nums[i]) == nums[j],其中 reverse(x) 表示将整数 x 的数字反转后形成的整数。反转后会忽略前导零,例如 reverse(120) = 21。返回任意镜像对的下标之间的 最小绝对距离。下标 i 和 j 之间的绝对距离为 abs(i - j)。
如果不存在镜像对,返回 -1。
示例 1:
输入: nums = [12,21,45,33,54]
输出: 1
解释:
镜像对为:
reverse(nums[0]) = reverse(12) = 21 = nums[1],绝对距离为 abs(0 - 1) = 1。reverse(nums[2]) = reverse(45) = 54 = nums[4],绝对距离为 abs(2 - 4) = 2。所有镜像对中的最小绝对距离是 1。
示例 2:
输入: nums = [120,21]
输出: 1
解释:
只有一个镜像对 (0, 1),因为 reverse(nums[0]) = reverse(120) = 21 = nums[1]。
最小绝对距离是 1。
示例 3:
输入: nums = [21,120]
输出: -1
解释:
数组中不存在镜像对。
提示:
1 <= nums.length <= 1051 <= nums[i] <= 109