题解 | #二进制中1的个数#

二进制中1的个数

https://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param n int整型 
 * @return int整型
*/
func NumberOf1( n int ) int {
    // write code here
    cnt := 0

    // 第一位默认为 1
    // 将 n 转换为 2 进制
    if n < 0 { 
        n &= 0x7fffffff
        cnt++
    }
		
		// 从低位逐个与 1 相与,相与为 1,说明最低位为 1,统计结果
		// 继续右移
    for n != 0 {
        cnt += n & 1
        n >>= 1
    }

    return cnt
}

全部评论

相关推荐

人力小鱼姐:实习经历没有什么含金量,咖啡店员迎宾这种就别写了,其他两段包装一下 想找人力相关的话,总结一下个人优势,结合校园经历里有相关性的部分,加一段自我评价
点赞 评论 收藏
分享
06-07 12:20
新余学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务