题目
LeetCode 3587.最小相邻交换至奇偶交替
解释
## 题目描述
给你一个由互不相同的整数组成的数组 nums 。
在一次操作中,你可以交换任意两个 相邻 元素。
在一个排列中,当所有相邻元素的奇偶性交替出现,我们认为该排列是 有效排列。这意味着每对相邻元素中一个是偶数,一个是奇数。
请返回将 nums 变成任意一种 有效排列 所需的最小相邻交换次数。
如果无法重排 nums 来获得有效排列,则返回 -1。
## 示例
**示例 1:**
**输入:** nums = [2,4,6,5,7]
**输出:** 3
**解释:** 将 5 和 6 交换,数组变成 [2,4,5,6,7]
将 5 和 4 交换,数组变成 [2,5,4,6,7]
将 6 和 7 交换,数组变成 [2,5,4,7,6]。此时是一个有效排列。因此答案是 3。
**示例 2:**
**输入:** nums = [2,4,5,7]
**输出:** 1
**解释:** 将 4 和 5 交换,数组变成 [2,5,4,7]。此时是一个有效排列。因此答案是 1。
**示例 3:**
**输入:** nums = [1,2,3]
**输出:** 0
**解释:** 数组已经是有效排列,因此不需要任何操作。
**示例 4:**
**输入:** nums = [4,5,6,8]
**输出:** -1
**解释:** 没有任何一种排列可以满足奇偶交替的要求,因此返回 -1。
## 约束条件
1 <= nums.length <= 105
1 <= nums[i] <= 109
nums 中的所有元素都是 唯一 的
## LeetCode 链接
https://leetcode.cn/problems/minimum-adjacent-swaps-to-alternate-parity/
答案
正在疯狂整理答案中......
