力扣765----情侣牵手(C++异或解法)
题目:
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++异或解法)相关推荐
- 并查集-力扣-765. 情侣牵手
题目链接 n 对情侣坐在连续排列的 2n 个座位上,想要牵到对方的手. 人和座位由一个整数数组 row 表示,其中 row[i] 是坐在第 i 个座位上的人的 ID.情侣们按顺序编号,第一对是 (0, ...
- 力扣765——情侣牵手(贪心+BFS)
解题思路 空间换时间 可以发现,每对情侣谁左谁右,旁边是谁,都没关系,只要这俩是一对且在一格就行: 因为要求全坐好,因为首尾不相连,下标0只能和下标1配对,这就相当于一格为两个偶奇下标: 首先遍历每一 ...
- 力扣.765情侣牵手——python
我们先了解一下题意求,只要情侣在左右都可以,而且求数字 x 的对象时用到了一个技巧,x 的对象是x ^ 1.解释如下: 当 x 是偶数,则其二进制的末尾是 0,所以 x ^ 1 将其二进制的末尾改成 ...
- 【力扣】765. 情侣牵手
以下为力扣的官方题解 765. 情侣牵手 题目 示例1 示例2 说明 官方题解 思路一 并查集 代码 复杂度分析 思路二 广度优先搜索 代码 复杂度分析 题目 NNN 对情侣坐在连续排列的 2N2N2 ...
- LeetCode——765. 情侣牵手(Couples Holding Hands)——分析及代码(Java)
LeetCode--765. 情侣牵手[Couples Holding Hands]--分析及代码[Java] 一.题目 二.分析及代码 1. 并查集 (1)思路 (2)代码 (3)结果 三.其他 一 ...
- Leetcode 765. 情侣牵手 C++
Leetcode 765. 情侣牵手 题目 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交 ...
- Java实现 LeetCode 765 情侣牵手(并查集 || 暴力)
765. 情侣牵手 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 ...
- 力扣题库-765.情侣牵手 最优解法
题目描述 情侣牵手 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 ...
- Leetcode #765 情侣牵手(贪心算法)
目录 题目描述 解题思路 我的代码 心得 题目描述 N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们 ...
- 765.情侣牵手问题 leetcode
情侣牵手问题 解法一: 贪心 这个解题方法就是从0开始遍历,遍历的时候看看右边的是不是自己的对象,如果不是,就去找对象(把右边的人和自己对象交换位置).每次判断完后i加2. 怎么判断? 根据题意, 如 ...
最新文章
- java socket/Serversocket编程详解(中/英文)
- oracle 之 安装10.2.0.1 且 升级到 10.2.0.4
- SpringBoot2.0 基础案例(06):引入JdbcTemplate,和多数据源配置
- 把偷快递的贼炸到怀疑人生!不愧是NASA工程师,奇思妙想
- 什么叫直播秒开?如何实现秒开?
- 强化学习:7基于直接策略搜索的强化学习⽅法 之 策略梯度
- 【干货分享】数字营销与企业数字化转型.pdf(附下载链接)
- 【赛时总结】 ◇赛时·II◇ AtCoder ABC-100
- linux 烧录树莓派镜像,Linux命令行烧录树莓派镜像至SD卡
- ‘vue-cli-service' 不是内部或外部命令,也不是可运行的程序或批处理文件的报错
- 计算机专业 美国,美国计算机专业的五大名校概况
- 也来对比一下segmentfault、开源中国、简书
- Macbook下ffmpeg下载失败问题解决
- STM32实现四驱小车(二)通信任务——遥控器SBUS通信
- 能测试手机信号不好的软件,买手机别只看性能!教你测试手机信号好坏
- BUUCTF·[AFCTF2018]Vigenère·WP
- android pdf转换base64 服务端转为文件
- 四.异常以及Cookie的处理
- java如何让线程sheep_Java面试知识点之线程篇(三)
- Java发展前景与职业方向解析
热门文章
- 基于Html+Css+javascript的游戏网页制作红色主题(我和我的祖国10页)
- SQLServer SubString函数提示[传递给 LEFT 或 SUBSTRING 函数的长度参数无效]错误的解决方法
- Pangolin could not be found because dependency Eigen3 could not be found.
- 爆糗的买单,看谁脸皮厚
- 吴恩达ML WEEK7 机器学习
- 映美Jolimark FP-760K 打印机驱动
- 燕山大学计算机复试有机试吗,关于燕山大学机械考研复试经验及导师信息分享...
- 西游记中孙悟空为什么总是欺负捉弄嘲笑猪八戒?
- openlayers和百度API实现点击地图加载全景的功能
- 七夕-wikipedia