程序员社区

神奇的数字和位运算

一.数字问题

对于 LeetCode 上有数量不少的数字题,然而很多数字题的解法并不通用,我们也很难在几道题里把所有的套路讲清楚,因此我们只选择了几道经典或是典 型的题目,供大家参考。

神奇的数字和位运算插图

 这个题其实主要是排序,可以使用快速排序,使用内置函数感觉跟算赖一样。但是先理解思想,在快速排序文章中再详细研究排序神奇的数字和位运算插图1

 

二.位运算

 位运算是算法题里比较特殊的一种类型,它们利用二进制位运算的特性进行一些奇妙的优化和计算。

n & (n-1)

神奇的数字和位运算插图2

异或:相同为0,不同为1

神奇的数字和位运算插图3

 

 n ^ n = 0(基础版)神奇的数字和位运算插图4

 

  n ^ n = 0(升级版)

神奇的数字和位运算插图5

 

 该题和上面的方法都不一样,放在这里加以区分神奇的数字和位运算插图6

 

 逻辑与&(代替了if)神奇的数字和位运算插图7

 

神奇的数字和位运算插图8

 

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 神奇的数字和位运算

一个分享Java & Python知识的社区