#4529. 情侣牵手

    ID: 4529 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>难度普及+/提高数据结构并查集基础算法模拟

情侣牵手

当前没有测试数据。

题目描述

nn 对情侣坐在连续排列的 2n2n 个座位上,想要牵到对方的手。

人和座位由一个整数数组 rowrow 表示,其中 row[i]row[i] 是坐在第 ii 个座位上的人的 ID。情侣们按顺序编号,第一对是 (0,1)(0, 1),第二对是 (2,3)(2, 3),以此类推,最后一对是 (2n2,2n1)(2n-2, 2n-1)

输出 最少交换座位的次数,以便每对情侣可以并肩坐在一起每次 交换可选择任意两人,让他们站起来交换座位。

输入格式

第一行一个整数 nn

接下来一行 2n2n 个整数,如题目所述。

输出格式

一行,一个整数表示答案。

样例

示例 1:

2
0 2 1 3
1

解释: 只需要交换 row[1] 和 row[2] 的位置即可。

示例 2:

2
3 2 0 1
0

解释: 无需交换座位,所有的情侣都已经可以手牵手了。

提示:

  • 2n==row.length2n == row.length
  • 2<=n<=302 <= n <= 30
  • nn 是偶数
  • 0<=row[i]<2n0 <= row[i] < 2n
  • rowrow 中所有元素均无重复

来源

leetcode.cn765

}