一天一个算法小技巧,从入门到入土

1.

计算2的幂次,在二进制中可以想到有且仅有一个1,那么 n & (n - 1)可以把最低位的1剔除掉判断结果是否为0,负数的法则在二进制里面为 所有位取反 + 1,所以 n & -n可以只留下最低为的1,判断结果是否为n

2.

计算4的幂次,因为4的幂次必然是2的幂次,所以在2的幂次前提上增加一个条件,1有且仅有1一个而且必须在偶数位上,可以 n & 0b...10101010 是否等于0。
另一个是 4的幂次与3取模为1....

3.

数组进行某种计算时,可以先考虑双指针的办法,剔除掉不可能的值,而且双指针可以从两边开始

4.

有序数组提前考虑二分查找法

posted @ 2021-05-31 21:26  Rainful  阅读(105)  评论(0编辑  收藏  举报