异或运算.

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

插入排序

对数器

相关推荐
名字忘了取了几秒前
定时任务线程池-scheduleAtFixedRate和scheduleWithFixedDelay
java
木井巳几秒前
【JavaEE】Spring Boot 快速上手
java·spring boot·后端·java-ee
赫瑞2 分钟前
Java中的进阶最长上升子序列——LIS
java·开发语言
Amour恋空3 分钟前
SpringBoot使用SpringAi完成简单智能助手2.0
java·spring boot·后端
额1294 分钟前
Ubuntu 反向代理/负载均衡 centos7/8 tomcat服务更改
java·centos·tomcat
ywlovecjy5 分钟前
Spring Boot中的404错误:原因、影响及处理策略
java·spring boot·后端
2301_788770555 分钟前
OJ模拟2
数据结构·算法
tuokuac6 分钟前
Spring Boot约定大于配置(配置MQ消息转换器的具体实例)
java·后端·spring
wuqingshun3141597 分钟前
说一下Spring中的ApplicationContext和BeanFactory的区别?
java·后端·spring
wyazyf7 分钟前
TREA IDE运行java springboot项目
java·spring boot·trea ide 启动java