位运算
Stay_Humble_
保持初心
展开
-
就这么神奇:一句话就判定一个整数是否是2的整数次方
题目:求判断一个整数是否为2的整数次方?一般来说看到这个题目,大家下意识就联想到数学中开方的操作,而在编码过程中可能会想到说,那我一直使用除以2,最后如果得到的余数为0不就可以了吗。是的,这是一种办法,但是我们需要去循环多次,步骤也相对麻烦。那么有没有更加便捷的方法呢?当然是有的,此时神奇的操作就来了,废话不多说,直接看表格:十进制二进制210410081...原创 2020-02-11 14:55:01 · 200 阅读 · 0 评论 -
高效的交换两个变量的值,并无需借助第三个变量
不借助第三个变量交换两个变量的值并且最高效/** * @author zc */public class Replace { public static void main(String[] args) { /**题目:如何不借助第三个变量来实现两个变量间的替换 * 思路: * 借助位运算异或技巧:一个值被异或2次就会被抵消 ...原创 2020-02-11 02:13:07 · 214 阅读 · 0 评论 -
最高效寻找重复数据,如何高效率的查找到数组中的重复值
/** * @author zc */public class FindRepeatNumber { /**题目:在指定的数组中寻找重复的数字,假定当前数组中只有两个数字是相同的,并且不能借助其他容器*/ /**思路: * 1、借助位运算可以实现 * 2、使用 异或(^) 的特性,如果一个数字被异或2次,那么这个数字就会被抵消 * 3、将数组中的...原创 2020-02-11 01:55:25 · 2156 阅读 · 2 评论