【双百解法】剑指 Offer 15. 二进制中1的个数
生活随笔
收集整理的這篇文章主要介紹了
【双百解法】剑指 Offer 15. 二进制中1的个数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
立志用最少的代碼做最高效的表達
請實現(xiàn)一個函數(shù),輸入一個整數(shù)(以二進制串形式),輸出該數(shù)二進制表示中 1 的個數(shù)。例如,把 9 表示成二進制是 1001,有 2 位是 1。因此,如果輸入 9,則該函數(shù)輸出 2。
示例 1:
輸入:00000000000000000000000000001011
輸出:3
解釋:輸入的二進制串 00000000000000000000000000001011 中,共有三位為 ‘1’。
示例 2:
輸入:00000000000000000000000010000000
輸出:1
解釋:輸入的二進制串 00000000000000000000000010000000 中,共有一位為 ‘1’。
示例 3:
輸入:11111111111111111111111111111101
輸出:31
解釋:輸入的二進制串 11111111111111111111111111111101 中,共有 31 位為 ‘1’。
提示:
輸入必須是長度為 32 的 二進制串 。
public class Solution2 {// you need to treat n as an unsigned valuepublic int hammingWeight(int n) {int sum = 0;for(int i = 0; i < 32; i++) {if(((n>>i) & 1) == 1) sum++;}return sum;} }
總結(jié)
以上是生活随笔為你收集整理的【双百解法】剑指 Offer 15. 二进制中1的个数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【速看,双100%】剑指 Offer 1
- 下一篇: 【附可运行代码】剑指 Offer 16.