算法笔记-异或及其应用、异或算法面试重点解析、详细解析与深入理解其规律总结
发布时间
阅读量:
阅读量
1. 异或的定义
在二进制逻辑运算中:
当两个操作数完全一致时,则输出值将等于零;
反之,
当两个操作数存在差异时,
则输出值将被设定为一。
另一种表达方式:
异或运算实际上是不考虑进位的一种加法方式。
例如,
在计算时将两个数字进行比较:
对于二进制数字而言,
若其中一个数字对应的位置上取值分别为零和一,
其运算结果等于将这两个数值进行相加。
而当输入的两个数值均为一的时候,
由于不会产生进位,
所以最终的结果将是零。
2. 异或使用规律
1.ON=N;NN=O
2.遵循交换律与结合律的代数系统具有性质:AB = BA 和 (AB)C = A(BC)
3.由于该系统遵循交换律与结合律可知:若涉及多个数进行异或操作,则不影响结果
3. 异或算法题目
- 给定一个未知长度的一维整型数组arr,在该数组中存在唯一的一个整数值会出现奇数次(即次数为3、5等),而其余所有整数值都会以偶次数(即2、4等)的形式出现在该数组中,请找出这个唯一的一个整数值
- 给定一个未知长度的一维整型数组arr,在该数组中恰好存在两个不同的整数值会出现奇数次(即次数为3、5等),而其余所有整数值都会以偶次数(即2、4等)的形式出现在该数组中,请找出这两个不同的整数值
解题思路:
对所有数组中的每个元素执行一次异或操作之后能够得到的就是那些出现次数为
全部评论 (0)
还没有任何评论哟~
