当前位置: 首页 > news >正文

搭建什么网站赚钱站内搜索工具

搭建什么网站赚钱,站内搜索工具,江北网站建设价格,湖南网站建设开发n 对情侣坐在连续排列的 2n 个座位上,想要牵到对方的手。 人和座位由一个整数数组 row 表示,其中 row[i] 是坐在第 i 个座位上的人的 ID。情侣们按顺序编号,第一对是 (0, 1),第二对是 (2, 3),以此类推,最后…

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

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

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

示例 1:

输入: row = [0,2,1,3]
输出: 1
解释: 只需要交换row[1]和row[2]的位置即可。

示例 2:

输入: row = [3,2,0,1]
输出: 0
解释: 无需交换座位,所有的情侣都已经可以手牵手了。

题解:把2n个作为分为n个组,每个组最后做一对情侣,由题可得 编号/2 相同的人是一对情侣。

如果把一对情侣看成一个点,把一个座位看成一条边,可以把输入转化成一个图。[0,2,1,3] 转化为情侣:[0 1 0 1]。

所以01之间形成一个环。

经过枚举,可以发现形成的图是一个或几个环。最终的结果是要变成n-1个自环。

规律:

如果每个座位内交换两个人位置,那么环的个数不变。

如果不同座位内交换两个人位置,那么环的个数加1。

所以只要求一开始的环的个数即可。

使用并查集来求图中环的个数(因为图中只有环?)

初始化每对情侣都指向自己。?

??

class Solution {
public:vector<int> p;int find(int x){if(p[x]!=x)p[x]=find(p[x]);return p[x];}int minSwapsCouples(vector<int>& row) {int n = row.size()/2;for(int i = 0;i < n;i++) p.push_back(i);int cnt = 0;for(int i = 0;i<n*2;i+=2){int a = row[i]/2;int b = row[i+1]/2;if(find(a)!=find(b)){p[find(a)]=find(b);cnt++;}}return cnt;}
};

http://www.ds6.com.cn/news/108919.html

相关文章:

  • 陕西建新建设有限公司网站广东seo推广
  • 自己在网站开发的客户怎么联系seo云优化软件破解版
  • 做是么网站网站seo什么意思
  • php 网站开发案例教程平台运营推广方案
  • 用java可以做网站吗软文推广名词解释
  • 好的公司网站竞价外包托管费用
  • 西宁网站建设哪家公司好seo优化的搜索排名影响因素主要有
  • 化妆网站模板下载免费怎么推广一个app
  • 网站建设系统服务机构百度手机助手下载正版
  • 网站开发前端是什么精品成品网站源码
  • java和php做网站谁好seo怎么才能优化好
  • 郑州锐途网站建设长沙网站开发制作
  • 做网站服装app企业网站营销的优缺点
  • 静安网站建设免费b站推广入口
  • 在别的公司做的网站可以转走吗福建搜索引擎优化
  • 怎么做推广网站怎么登录百度app
  • 企业整套vi设计都包含哪些西安企业seo外包服务公司
  • 武汉做商城网站建设seo网站推广案例
  • 福田做商城网站建设哪家公司便宜点网络优化公司有哪些
  • 网站设计公司建设优化排名
  • 有没有帮人做简历的网站免费发布信息网站大全
  • vs 团队网站开发百度知道合伙人官网登录入口
  • 耀华建设管理有限公司网站站长工具推荐网站
  • 纯js做网站网络推广公司收费标准
  • wordpress开启多站点功免费网络推广平台有哪些
  • 做美国市场哪个网站好西安网站seo外包
  • 中小企业网站建设框架衡水网站seo
  • ps做网站效果图尺寸如何今日十大头条新闻
  • 制作网站民治网站制作专业
  • 策划文案的网站域名网站