代码拉取完成,页面将自动刷新
class Solution {
public:
vector<int> father;
int sets;
void build(int n)
{
for (int i = 0; i < n; i++)
{
father.push_back(i);
}
sets = n;
}
int find(int n)
{
if (n != father[n])
father[n] = find(father[n]);
return father[n];
}
void union_(int x, int y)
{
int fx = find(x), fy = find(y);
if (fx != fy)
{
father[fx] = fy;
sets--;
}
}
int minSwapsCouples(vector<int>& row) {
int rown = row.size();
build(rown / 2);
int res = 0;
for (int i = 0; i < rown; i += 2)
union_(row[i] / 2, row[i + 1] / 2);
res = rown / 2 - sets;
return res;
}
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。