#2170

Minimum Operations to Make the Array Alternating

expert · 1105 · lc medium +32 · verified · 35.4% accepted · 614 likes · top 13%

Description

You are given a 0-indexed array nums of n positive integers.

The array is called alternating if:

- nums[i - 2] == nums[i] for all 2 <= i <= n - 1.

- nums[i - 1] != nums[i] for all 1 <= i <= n - 1.

In one operation, choose any index i and set nums[i] to any positive integer.

Return the minimum number of operations required to make nums alternating.

Example 1:

Input: nums = [3,1,3,2,4,3]
Output: 3
Explanation:
One way to make the array alternating is by converting it to [3,1,3,1,3,1].
The number of operations required in this case is 3.
It can be proven that it is not possible to make the array alternating in less than 3 operations.

Example 2:

Input: nums = [1,2,2,2,2]
Output: 2
Explanation:
One way to make the array alternating is by converting it to [1,2,1,2,1].
The number of operations required in this case is 2.
Note that the array cannot be converted to [2,2,2,2,2] because in this case nums[0] == nums[1] which violates the conditions of an alternating array.

Code

1
2
3