题目:
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
解释: 无需交换座位,所有的情侣都已经可以手牵手了。

代码:

class Solution {public:int minSwapsCouples(vector<int>& row) {int ans = 0;for (int i = 0; i < row.size(); i += 2) { // 每两个数一组int a = row[i];int b = a ^ 1; // 当a为较大数时,b为较小数;当a 为较小数时,b为较大数for (int j = i + 1; j < row.size(); ++j) {if (row[j] == b) {if (j != i + 1) ++ans;swap(row[i + 1], row[j]);break;}}}return ans;}
};

时间超过100%

力扣765----情侣牵手(C++异或解法)相关推荐

  1. 并查集-力扣-765. 情侣牵手

    题目链接 n 对情侣坐在连续排列的 2n 个座位上,想要牵到对方的手. 人和座位由一个整数数组 row 表示,其中 row[i] 是坐在第 i 个座位上的人的 ID.情侣们按顺序编号,第一对是 (0, ...

  2. 力扣765——情侣牵手(贪心+BFS)

    解题思路 空间换时间 可以发现,每对情侣谁左谁右,旁边是谁,都没关系,只要这俩是一对且在一格就行: 因为要求全坐好,因为首尾不相连,下标0只能和下标1配对,这就相当于一格为两个偶奇下标: 首先遍历每一 ...

  3. 力扣.765情侣牵手——python

    我们先了解一下题意求,只要情侣在左右都可以,而且求数字 x 的对象时用到了一个技巧,x 的对象是x ^ 1.解释如下: 当 x 是偶数,则其二进制的末尾是 0,所以 x ^ 1 将其二进制的末尾改成 ...

  4. 【力扣】765. 情侣牵手

    以下为力扣的官方题解 765. 情侣牵手 题目 示例1 示例2 说明 官方题解 思路一 并查集 代码 复杂度分析 思路二 广度优先搜索 代码 复杂度分析 题目 NNN 对情侣坐在连续排列的 2N2N2 ...

  5. LeetCode——765. 情侣牵手(Couples Holding Hands)——分析及代码(Java)

    LeetCode--765. 情侣牵手[Couples Holding Hands]--分析及代码[Java] 一.题目 二.分析及代码 1. 并查集 (1)思路 (2)代码 (3)结果 三.其他 一 ...

  6. Leetcode 765. 情侣牵手 C++

    Leetcode 765. 情侣牵手 题目 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交 ...

  7. Java实现 LeetCode 765 情侣牵手(并查集 || 暴力)

    765. 情侣牵手 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 ...

  8. 力扣题库-765.情侣牵手 最优解法

    题目描述 情侣牵手 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 ...

  9. Leetcode #765 情侣牵手(贪心算法)

    目录 题目描述 解题思路 我的代码 心得 题目描述 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们 ...

  10. 765.情侣牵手问题 leetcode

    情侣牵手问题 解法一: 贪心 这个解题方法就是从0开始遍历,遍历的时候看看右边的是不是自己的对象,如果不是,就去找对象(把右边的人和自己对象交换位置).每次判断完后i加2. 怎么判断? 根据题意, 如 ...

最新文章

  1. java socket/Serversocket编程详解(中/英文)
  2. oracle 之 安装10.2.0.1 且 升级到 10.2.0.4
  3. SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置
  4. 把偷快递的贼炸到怀疑人生!不愧是NASA工程师,奇思妙想
  5. 什么叫直播秒开?如何实现秒开?
  6. 强化学习:7基于直接策略搜索的强化学习⽅法 之 策略梯度
  7. 【干货分享】数字营销与企业数字化转型.pdf(附下载链接)
  8. 【赛时总结】 ◇赛时·II◇ AtCoder ABC-100
  9. linux 烧录树莓派镜像,Linux命令行烧录树莓派镜像至SD卡
  10. ‘vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件的报错
  11. 计算机专业 美国,美国计算机专业的五大名校概况
  12. 也来对比一下segmentfault、开源中国、简书
  13. Macbook下ffmpeg下载失败问题解决
  14. STM32实现四驱小车(二)通信任务——遥控器SBUS通信
  15. 能测试手机信号不好的软件,买手机别只看性能!教你测试手机信号好坏
  16. BUUCTF·[AFCTF2018]Vigenère·WP
  17. android pdf转换base64 服务端转为文件
  18. 四.异常以及Cookie的处理
  19. java如何让线程sheep_Java面试知识点之线程篇(三)
  20. Java发展前景与职业方向解析

热门文章

  1. 基于Html+Css+javascript的游戏网页制作红色主题(我和我的祖国10页)
  2. SQLServer SubString函数提示[传递给 LEFT 或 SUBSTRING 函数的长度参数无效]错误的解决方法
  3. Pangolin could not be found because dependency Eigen3 could not be found.
  4. 爆糗的买单,看谁脸皮厚
  5. 吴恩达ML WEEK7 机器学习
  6. 映美Jolimark FP-760K 打印机驱动
  7. 燕山大学计算机复试有机试吗,关于燕山大学机械考研复试经验及导师信息分享...
  8. 西游记中孙悟空为什么总是欺负捉弄嘲笑猪八戒?
  9. openlayers和百度API实现点击地图加载全景的功能
  10. 七夕-wikipedia