异或运算.

相同为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、其中有两种数,出现了奇数次,其他的出现了偶数次。

插入排序

对数器

相关推荐
tryxr1 天前
变量捕获相关内容
java·开发语言·jvm
Algo-hx1 天前
数据结构入门 (十):“左小右大”的秩序 —— 深入二叉搜索树
数据结构·算法
拉不动的猪1 天前
Token无感刷新全流程(Vue + Axios + Node.js(Express))
java·javascript·vue.js
m0_639817151 天前
基于springboot个人云盘管理系统【带源码和文档】
java·spring boot·后端
大头an1 天前
Spring事务隔离级别全解析:从读未提交到序列化
java
大隐隐于野1 天前
从零开始理解和编写LLM中的KV缓存
java·缓存·llm
DKunYu1 天前
1.多线程初阶
java·开发语言
Ace_31750887761 天前
京东商品详情接口深度解析:从反爬绕过到数据结构化重构
数据结构·python·重构
尤利乌斯.X1 天前
在Java中调用MATLAB函数的完整流程:从打包-jar-到服务器部署
java·服务器·python·matlab·ci/cd·jar·个人开发
spencer_tseng1 天前
easy-captcha-1.6.2.jar
java·jar