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

石家庄网站建设找汉狮网络营销的发展现状及趋势

石家庄网站建设找汉狮,网络营销的发展现状及趋势,最近热点新闻素材,wordpress免费的模板下载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.rdtb.cn/news/14891.html

相关文章:

  • 仿古建筑公司网站网站优化基本技巧
  • wap网站制作方案百度首页精简版
  • 展馆的科普网站建设seo网站推广方案
  • 网站建设的七大主要目的中国十大品牌策划公司
  • 保定网站制作费用论坛推广的步骤
  • 专门做灯具海报的网站网络营销官网
  • 合肥网站外包网络口碑推广公司
  • 互联网公司网站建设ppt模板下载百度平台我的订单
  • 美国虚拟主机托管自己的网站网址域名查询ip地址
  • 网站建设沈阳公司哪家好哪有免费的网站
  • 用php做的网站论文软文范例大全1000字
  • 网站商城网络整合营销网站排名优化外包公司
  • 沈阳和平三好街做网站百度网页版主页
  • 无锡网站设计制作阿里数据
  • 梧州论坛网seo管理
  • 做网站所需要的代码网络推广外包代理
  • 大气 网站源码平台代运营是什么意思
  • wordpress随意更换主题关键词seo排名怎么样
  • 网站开发文档模板下载太原网站推广公司
  • 织梦网站自适应怎么做国际军事最新头条新闻
  • 想做网站怎么跟做网站的公司谈判白嫖永久服务器
  • 哈尔滨建站服务网站开发给网站做seo的价格
  • 网站建设文本居中代码广告接单有什么平台
  • 与客户沟通网站建设的技巧公司网站首页设计
  • 销售网站建设怎么样谷歌安装器
  • 做网站没有手机端西安百度推广排名
  • 网站界面版式软文代发布
  • 网站平台建设基本情况关键词调词平台费用
  • 静安网站建设seo推广排名软件
  • 内容管理网站广州网站优化工具