Swift 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。

M1:

func hammingWeight(_ n:uint) -> Int  {
    var count = 0
    var tmpn = n
    while tmpn > 0 {
        let tmp = tmpn & 1
        if tmp == 1 { count+=1 }
        tmpn = tmpn >> 1
    }
    return count
}

M2:
https://www.jianshu.com/p/4c531932cb9e
中的方法二(相比M1,执行时间会稍显长点,思路值得学习)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。