1、求二进制中1的个数?
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long val = sc.nextLong();
int count = 0;
while(val != 0){
//这个数和1取& == 1,那么说明它是1。
if((val & 1) == 1)
count++;
val = val >> 1;
}
System.out.println(count);
}
通过率44%.
哪出错了,如果这个数是负数的话,那么右移就陷入了死循环。那就尝试一下左移好了。
之前做过这道题
https://blog.youkuaiyun.com/xuchonghao/article/details/80100403
3、LRU,还在研究!