三种方法

二进制中1的个数

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

/**

  • 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
  • /
    public class Text11
    {
    public int NumberOf1(int n)
    {
      int count = 0;
      while (n != 0) {
          ++count;
          n = (n - 1) & n;
      }
      return count;
    }
    public int NumberOf1V2(int n)
    {
      char[] c=Integer.toBinaryString(n).toCharArray();
      int count=0;
      for (int i = 0; i < c.length; i++) {
          if (c[i]=='1') {
              count++;
          }
      }
      return count;
    }
    public int NumberOf1V3(int n)
    {
      String s=Integer.toBinaryString(n);
      int count=0;
      for (int i = 0; i < s.length(); i++) {
          if (s.charAt(i)=='1') {
              count++;
          }
      }
      return count;
    }
    }
全部评论

相关推荐

05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
lllllkin:感觉可以精简到一页简历,有些排版感觉不是必须的。 时间线越早的,你自己越熟悉的放前面。描述可以更精简些,一些问题解决感觉可以不用写具体技术栈,卖个关子,等面试官问。
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

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