二进制中1的个数
来源:互联网 发布:大学生软件实训基地 编辑:程序博客网 时间:2024/06/07 06:10
今天刷到这一题,依稀记得之前见过最优解,可是始终想不起来,所以用了最常用的法子:用Integer里的方法把整数变成二进制,然后用数组分别验证是否为1.
public static int NumberOf1(int n) { String s=Integer.toBinaryString(n); char[] c=s.toCharArray(); int counter=0; for (int i = 0; i < c.length; i++) {if (c[i]=='1') {counter++;}} return counter; }
在提交成功之后,看到了最优解,原来是这样的:
public static int NumberOf1(int n) { int counter=0; while (n!=0) {++counter;n=n&(n-1);} return counter; }
我还是看不懂。先把它记下来吧。
我还看到了和我用相同方法的,可是人家在统计那里比较有技巧,是把所有的0都删掉,然后求其length就可以了。
0 0
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- 二进制中1的个数
- ionic入门教程第六课-从服务器请求数据的几种方式$http.get()、jsonp()分别和callback、$q的组合
- try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
- QT Creator 如何建立动态链接库和使用的方法(详细的图文教程以及错误的讲解)
- 文章标题
- 线程传递结构体参数
- 二进制中1的个数
- Mybatis最入门---Mapper文件配置详解(上)
- ViewPagerTransforms
- [leetcode]98. Validate Binary Search Tree -- JavaScript 代码
- 关于html中select选中的问题
- Qt QtableWidget居中显示图片
- js给select赋值
- SparkStreming中的Transformations和状态管理
- 确认64位的内核