题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输入:00000000000000000000000000001011 示例 2: 输入:00000000000000000000000010000000 示例 3: 输入:11111111111111111111111111111101 解答:
输出:3
解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。
输出:1
解释:输入的二进制串 00000000000000000000000010000000 中,共有一位为 ‘1’。
输出:31
解释:输入的二进制串 11111111111111111111111111111101 中,共有 31 位为 ‘1’。public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) {//一个数 nnn 与一个比它小 111 的数(n−1n - 1n−1)进行与运算(&&&)之后,得到的结果会消除 nnn 中最低位的 111. int count = 0; while (n != 0) { n = n & n-1; count++; } return count; } }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算