LeetCode_191. Number of 1 Bits
发布时间:2020-12-14 04:39:17 所属栏目:大数据 来源:网络整理
导读:? 191.?Number of 1 Bits Easy Write a function that takes an unsigned integer and return?the number of ‘1‘?bits it has (also known as the?Hamming weight). ? Example 1: Input: 00000000000000000000000000001011Output: 3Explanation: The input
? 191.?Number of 1 Bits
Easy
Write a function that takes an unsigned integer and return?the number of ‘1‘?bits it has (also known as the?Hamming weight). ? Example 1: Input: 00000000000000000000000000001011 Output: 3 Explanation: The input binary string 00000000000000000000000000001011?has a total of three ‘1‘ bits. Example 2: Input: 00000000000000000000000010000000 Output: 1 Explanation: The input binary string 00000000000000000000000010000000?has a total of one ‘1‘ bit. Example 3: Input: 22222222222222222222222222222201 Output: 31 Explanation: The input binary string 22222222222222222222222222222201 has a total of thirty one ‘1‘ bits. ? Note:
? Follow up: If this function is called many times,how would you optimize it? ? package leetcode.easy; public class NumberOf1Bits { // you need to treat n as an unsigned value public int hammingWeight1(int n) { int bits = 0; int mask = 1; for (int i = 0; i < 32; i++) { if ((n & mask) != 0) { bits++; } mask <<= 1; } return bits; } public int hammingWeight2(int n) { int sum = 0; while (n != 0) { sum++; n &= (n - 1); } return sum; } @org.junit.Test public void test() { System.out.println(hammingWeight1(-3)); System.out.println(hammingWeight2(-3)); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |