中等
给你一个整数数组 nums。
如果满足以下条件,则认为数组是 交替质数 数组:
- 偶数 下标(从 0 开始)处的元素是 质数。
- 奇数 下标处的元素是 非质数。
在一次操作中,你可以将任何元素 增加 1。
返回将 nums 转换为 交替质数 数组所需的 最少 操作次数。
质数 是指大于 1 且仅有两个因数(1 和其本身)的自然数。
示例 1:
输入: nums = [1,2,3,4]
输出: 3
解释:
- 下标 0 处的元素必须是质数。将
nums[0] = 1增加到 2,使用 1 次操作。 - 下标 1 处的元素必须是非质数。将
nums[1] = 2增加到 4,使用 2 次操作。 - 下标 2 处的元素已经是质数。
- 下标 3 处的元素已经是非质数。
总操作次数 = 1 + 2 = 3。
示例 2:
输入: nums = [5,6,7,8]
输出: 0
解释:
- 下标 0 和 2 处的元素已经是质数。
- 下标 1 和 3 处的元素已经是非质数。
不需要任何操作。
示例 3:
输入: nums = [4,4]
输出: 1
解释:
- 下标 0 处的元素必须是质数。将
nums[0] = 4增加到 5,使用 1 次操作。 - 下标 1 处的元素已经是非质数。
总操作次数 = 1。
提示:
1 <= nums.length <= 1051 <= nums[i] <= 105