这题常规做法耗时太长,于是考虑找规律,时间有点紧张(主要还是懒),直接看了题解。
关键点在于结果是所有数字二进制的公共前缀补上对应位数的0。
代码就不放了,一个新知识点:java里a /= 2 和 a >>= 1是等价的(在其他语言中应当也是如此)。
除法在实际计算是会转化为移位运算,二者只是写法上的区别,在执行方式和运算效率上是相当的。!
下图红框是移位运算符的执行效率,最上面是除法的执行效率,区别可以忽略。
【菜鸡的力扣笔记】201.数字范围按位与
最新推荐文章于 2024-07-24 15:46:55 发布