题解 | #求int型正整数在内存中存储时1的个数#

求int型正整数在内存中存储时1的个数

http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

位运算,input和input-1做与运算即可抹掉二进制位最后一个0,常数级别时间复杂度。

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int input = sc.nextInt();
        int res = 0;
        while(input != 0){
            res ++;
            input = input & (input - 1);
        }
        System.out.println(res);
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
09-17 09:40
点赞 评论 收藏
分享
牛客48826091...:哥们胸肌挺好看
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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