二进制中一的个数

二进制中1的个数

http://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8

傻子方法来一个:
1、先将数字转换成二进制字符串
2、用String.split()函数存入一个数组中
3、遍历数组跟1比较,同时计数
4、输出计数值

public class Solution {
    public int NumberOf1(int n) {
         String s=Integer.toBinaryString(n); 
        String[] split=s.split(""); 
        int a=0; 
        for(int i = 0; i < split.length; i++) { 
            if (split[i].equals("1")) 
                { 
                    a++; 
                } 
        }
             return a;
    }
}
全部评论
这是我唯一看得懂得题解【哭】
6 回复
分享
发布于 2020-04-15 14:08
挖槽 我还不知道Integer有这个方法 自己傻傻写了一大行
2 回复
分享
发布于 2020-05-20 16:32
联易融
校招火热招聘中
官网直投
朴实无华
2 回复
分享
发布于 2020-08-20 16:27
可以chAt或者直接replace删掉0吧 public class Solution { public int NumberOf1(int n) { return Integer.toBinaryString(n).replace("0","").length(); } }
2 回复
分享
发布于 2020-11-24 23:23
我第一时间也是这么想的。。。
1 回复
分享
发布于 2020-07-25 11:19
握爪
1 回复
分享
发布于 2020-08-03 17:11
直接chatAt也行 public int NumberOf1(int n) { int res = 0; String s = Integer.toBinaryString(n); for (int i = 0; i < s.length(); i++){ if (s.charAt(i) == '1'){ res++; } } return res; }
1 回复
分享
发布于 2020-09-13 16:22
我呆住了,强
1 回复
分享
发布于 2021-03-15 21:51
请问Integer.toBinaryString(n)是什么意思?
点赞 回复
分享
发布于 2020-09-04 15:52
toArray()更简单
点赞 回复
分享
发布于 2021-10-07 20:55

相关推荐

79 1 评论
分享
牛客网
牛客企业服务