![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
野生程序猿RW
2020年毕业于台湾科技大学(Taiwan Tech),后端开发工程师一枚。
展开
-
868. 二进制间距
868. 二进制间距给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,“1001” 中的两个 1 的距离为 3 。思路n & 1 == 1是奇数,获取 nn 的最低位,判断其是否为 1找到所有的1,从低位开始遍历。class Solution { public in原创 2022-04-24 20:37:56 · 129 阅读 · 0 评论 -
位运算模版
191. 位1的个数public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int ret = 0; while (n != 0) { n &= n - 1; ++ret; } return ret; }}..原创 2022-04-05 16:39:20 · 226 阅读 · 0 评论