给你一个整数数组 nums。
一次 操作 中,你可以选择一个下标 i,并将 nums[i] 增加 2 或减少 2。
返回将 nums 中的每个元素都变为 正回文整数 所需的 最少 操作次数。不同元素可以变成不同的回文整数。
如果一个整数正着读和反着读都相同,则称其为 回文整数 。例如,121 是回文整数,而 123 不是。
示例 1:
输入: nums = [10,12,14,16]
输出: 9
解释:
一种最优操作方案如下:
nums[0] 减少 2 一次,使其从 10 变为 8。nums[1] 减少 2 两次,使其从 12 变为 8。nums[2] 减少 2 三次,使其从 14 变为 8。nums[3] 增加 2 三次,使其从 16 变为 22。经过 1 + 2 + 3 + 3 = 9 次操作后,nums = [8, 8, 8, 22],其中每个元素都是正回文整数。
可以证明,少于 9 次操作无法做到这一点。
示例 2:
输入: nums = [9,10,11,10]
输出: 2
解释:
分别将 nums[1] 和 nums[3] 减少 2 一次。
经过 2 次操作后,nums = [9, 8, 11, 8],其中每个元素都是正回文整数。
这两个元素各至少需要一次操作,因此最少操作次数为 2。
示例 3:
输入: nums = [125]
输出: 2
解释:
将 nums[0] 减少 2 两次,使其从 125 变为 121,而 121 是一个正回文整数。
如果只执行一次操作,125 会变为 123 或 127,而它们都不是回文整数。因此,最少操作次数为 2。
提示:
1 <= nums.length <= 1051 <= nums[i] <= 109