【剑指offer】面试题15:二进制中1的个数(Java)
請實現一個函數,輸入一個整數,輸出該數二進制表示中 1 的個數。例如,把 9?表示成二進制是 1001,有 2 位是 1。因此,如果輸入 9,則該函數輸出 2。
示例 1:
輸入:00000000000000000000000000001011
輸出:3
解釋:輸入的二進制串 00000000000000000000000000001011?中,共有三位為 '1'。
示例 2:
輸入:00000000000000000000000010000000
輸出:1
解釋:輸入的二進制串 00000000000000000000000010000000?中,共有一位為 '1'。
示例 3:
輸入:11111111111111111111111111111101
輸出:31
解釋:輸入的二進制串 11111111111111111111111111111101 中,共有 31 位為 '1'。
代碼:
public?class?Solution?{
????//?you?need?to?treat?n?as?an?unsigned?value
????public?int?hammingWeight(int?n)?{
????????int?count?=?0;
????????while(n!=0)
????????{
????????????if((n&1)==1)
????????????{
????????????????count++;
????????????}
????????????n>>>=1;
????????}
????????return?count;
????}
}
總結
以上是生活随笔為你收集整理的【剑指offer】面试题15:二进制中1的个数(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试动态视力软件叫什么影响吗,动态视力
- 下一篇: Leetcode--169. 求众数