异或运算.

相同为0,不同为1。

java 复制代码
1 ^ 1=0
0 ^ 0=0
1 ^ 0=1
0 ^ 1=1

性质:

  1. 0 ^ N = N N ^ N = 0
  2. 交换、结合
    a ^ b = b ^ a;
    (a ^ b) ^ c = a ^ (b ^ c);
    因此异或全部的元素的结果就是那个只出现1次的元素。

实现两个值的交换,而不必使用临时变量(值可以相等,但前提是他两指向的内存是两块东西)。

例如交换两个整数a = 甲;b = 乙;的值,可通过下列语句实现:

java 复制代码
 a = 甲;
 b = 乙;
 a = a^b;   || a =  甲 ^ 乙
 b = a^b;   || b = (甲 ^ 乙) ^ 乙 = 甲
 a = a^b;   || a = (甲 ^ 乙) ^ 甲 = 乙

例题:

有一个数组

1、其中有一种数,出现了奇数次,其他的出现了偶数次;

解法:直接异或所有数。

2、其中有两种数,出现了奇数次,其他的出现了偶数次。

插入排序

对数器

相关推荐
feng_blog66883 小时前
C++线程池|解决死锁、崩溃、丢任务所有痛点
java·开发语言·c++
知识领航员4 小时前
2026年推荐6个AI音乐工具
java·人工智能·python·eclipse·django·php·pygame
mfxcyh4 小时前
如何把对象数据转化为数组
java·服务器·前端
多加点辣也没关系4 小时前
数据结构与算法|第六章:队列
数据结构·算法·队列
念越4 小时前
从网络基础到Socket编程:TCP/UDP原理 + Java实战详解
java·网络·tcp/ip·udp
我是无敌小恐龙5 小时前
Java基础入门Day10 | Object类、包装类、大数/日期类、冒泡排序与Arrays工具类 超详细总结
java·开发语言·数据结构·算法·贪心算法·排序算法·动态规划
极客先躯5 小时前
高级java每日一道面试题-2025年12月07日-实战篇[Dockerj]-Docker daemon 的配置文件在哪里?常用的配置项有哪些?
java·docker·配置文件的实际位置·配置文件的格式规则·常用配置项全景与分类·配置如何生效·daemon 配置折射架构思维
云烟成雨TD5 小时前
Spring AI Alibaba 1.x 系列【49】状态图运行时引擎:CompiledGraph 源码解析
java·人工智能·spring
Tutankaaa5 小时前
从10队到50队:知识竞赛软件的高并发场景如何设计?
java·经验分享·后端·spring
下次再写6 小时前
微服务架构实战:Spring Boot + Spring Cloud 从入门到精通
java·spring boot·spring cloud·微服务架构·服务注册与发现·分布式系统·api网关