news 2026/6/14 10:11:35

异或运算符算法题应用总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
异或运算符算法题应用总结

目录

  • 性质
  • 一、高频应用场景
    • **场景1:寻找唯一不重复的元素**
    • **场景2:寻找两个不重复的元素**
    • **场景3:不用加减号做算术运算**
    • **场景4:状态切换与奇偶判断**
    • **场景5:交换两个变量**
  • 二、综合训练题单(按难度排序)
  • 三、高频误区提醒
  • 四、面试高频追问

性质

异或运算(^)在算法题中有四大核心性质,掌握后可以快速解决多类问题:

核心性质

  1. 自反性a ^ a = 0(相同数异或为0)
  2. 恒等性a ^ 0 = a(与0异或不变)
  3. 交换律a ^ b = b ^ a
  4. 结合律(a ^ b) ^ c = a ^ (b ^ c)

一、高频应用场景

场景1:寻找唯一不重复的元素

适用条件:数组中只有一个元素出现奇数次,其余都出现偶数次
原理:所有元素异或后,成对的自动抵消为0,最终剩下目标值

入门题目

  • LeetCode 136. 只出现一次的数字- 最经典入门题
  • LeetCode 268. 丢失的数字- 索引和值的巧妙对应
  • LeetCode 1486. 数组异或操作- 直接模拟异或过程

场景2:寻找两个不重复的元素

适用条件:数组中有两个元素只出现一次,其余都出现两次
思路:先全体异或得到x = a ^ b,找到x中任意为1的位(表示a,b在该位不同),按此位将数组分为两组分别异或

进阶题目

  • LeetCode 260. 只出现一次的数字 III- 分组建异或技巧
  • 剑指 Offer II 070. 只出现一次的数字- 同上题

场景3:不用加减号做算术运算

原理:利用异或实现无进位加法,与运算实现进位
典型应用

  • LeetCode 371. 两整数之和- 用位运算实现加法
  • LeetCode 面试题 17.01. 不用加号的加法- 同上

场景4:状态切换与奇偶判断

小技巧

  • x ^= 1可在0和1之间切换(等价于!x
  • x ^ 1可判断奇偶(比%2更快)

场景5:交换两个变量

经典三行代码,无需临时变量:

a^=b;b^=a;a^=b;

二、综合训练题单(按难度排序)

序号题目难度核心考点链接
1只出现一次的数字★☆☆☆☆基础异或LeetCode 136
2丢失的数字★☆☆☆☆索引异或LeetCode 268
3数组异或操作★☆☆☆☆模拟异或LeetCode 1486
4两整数之和★★☆☆☆位运算加法LeetCode 371
5只出现一次的数字 III★★★☆☆分组异或LeetCode 260
6使数组异或和为零★★★☆☆动态规划+异或LeetCode 1787
7黑板异或游戏★★★★☆博弈论+异或LeetCode 810
8子数组异或查询★★☆☆☆前缀异或LeetCode 1310

三、高频误区提醒

  • ❌ 初始值设为1(必须为0)
  • ❌ 用加法替代异或(无法消除成对元素)
  • ❌ 忽略"出现偶数次"的前提条件

四、面试高频追问

  1. 如果只出现一次的数字有两个,怎么办?→ 参考LeetCode 260的分组策略
  2. 如果其他数字出现三次呢?→ 需要结合位计数或状态机(如LeetCode 137)
  3. 异或和哈希表哪个更好?→ 异或空间O(1)更优,但哈希表更通用
  4. 证明异或满足交换律? → 可从真值表或二进制位角度说明

建议从LeetCode 136开始,配合题解区的高赞分析,逐步建立位运算思维!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 7:54:02

港口物流调度AI:集装箱分配方案在TensorRT上快速生成

港口物流调度AI:集装箱分配方案在TensorRT上快速生成 在全球贸易持续增长的背景下,港口每天要处理数以万计的集装箱流转任务。靠泊的货轮、穿梭的集卡、繁忙的岸桥,每一个环节都牵一发而动全身。稍有延迟,就可能引发连锁延误&…

作者头像 李华
网站建设 2026/6/10 10:57:07

品牌声誉监控:社交媒体情绪分析通过TensorRT全天候追踪

品牌声誉监控:社交媒体情绪分析通过TensorRT全天候追踪 在微博热搜瞬息万变、一条短视频可能引爆全网舆论的今天,企业对品牌声誉的掌控力正面临前所未有的挑战。某知名饮料品牌曾因一段用户拍摄的“瓶盖松动”视频,在48小时内遭遇负面舆情扩散…

作者头像 李华
网站建设 2026/6/13 0:25:23

核心要点:提升USB识别成功率的关键设置

如何让电脑真正“看见”你的USB设备?——从驱动到固件的全链路排错指南 你有没有遇到过这样的情况: 插上U盘,系统毫无反应; 外接硬盘连灯都不亮; 手机能充电,但就是传不了文件…… 明明线是好的&#…

作者头像 李华
网站建设 2026/6/10 11:47:19

ArduPilot日志系统解析:数据记录深度讲解

ArduPilot日志系统深度剖析:从“黑匣子”到调试利器你有没有遇到过这样的场景?无人机在空中突然抖动,落地后一切正常,遥控器也没报警。你想查原因,却发现遥测数据只记录了每秒一次的姿态角——根本看不出高频振荡的蛛丝…

作者头像 李华
网站建设 2026/6/10 12:39:17

在线教育智能阅卷:作文评分模型通过TensorRT实现秒级反馈

在线教育智能阅卷:作文评分模型通过TensorRT实现秒级反馈 在一场全国性在线模拟考试中,数万名学生几乎在同一时间提交了语文作文。传统的人工批改需要数天才能完成,而此时,某教育平台的后台系统却在平均68毫秒内完成了每一篇作文的…

作者头像 李华