260. 只出现一次的数字 III - 力扣(LeetCode)

class Solution {
public int[] singleNumber(int[] nums) {
//通过异或操作,使得最终结果为两个只出现一次的元素的异或值
int filterResult = 0;
for(int num:nums){
filterResult^=num;
}
//计算首个1(从右侧开始)的二进制位的值
int bitValue = filterResult&-filterResult;
//以首个为1的二进制位将原数组分为两部分并进行异或运算,最终结果为两个题解
int oneResult = 0,twoResult = 0;
for(int num:nums){
if((num&bitValue)>0){
oneResult ^= num;
}
else{
twoResult^=num;
}
}
return new int[]{oneResult,twoResult};
}
}
class Solution {
public int[] singleNumber(int[] nums) {
//通过异或操作,使得最终结果为两个只出现一次的元素的异或值
int filterResult = 0;
for(int num:nums){
filterResult^=num;
}
//计算首个1(从右侧开始)的二进制位的值
int bitValue = filterResult&(filterResult-1)^filterResult;
//以首个为1的二进制位将原数组分为两部分并进行异或运算,最终结果为两个题解
int oneResult = 0,twoResult = 0;
for(int num:nums){
if((num&bitValue)>0){
oneResult ^= num;
}
else{
twoResult^=num;
}
}
return new int[]{oneResult,twoResult};
}
}
![[JDK工具-6] jmap java内存映射工具](https://img-blog.csdnimg.cn/direct/e91ebbffbe0b4a5eb083fe0d27e1d405.png)



![[LLM]从GPT-4o原理到下一代人机交互技术](https://img-blog.csdnimg.cn/direct/4ed2bfed32f34dac9170cf5779ed4c0a.png)














