一个整数二进制中 1 的个数

2019-03-11  本文已影响0人  晴天的晴q

思路:把整数减去 1,再与原整数进行 位与(&)运算,这会把整数最右边的 1 变成 0,那么一个数二进制中有多少个 1,就会做多少次这样的操作。

public static int NumberOfSolution(int n){
    int count = 0;
    while(n > 0){
        count ++;
        n = (n-1)&n;
    }
    return n;
}

上一篇 下一篇

猜你喜欢

热点阅读