网站开发为什么要写接口,比较好的网站建设公司电话,中国搜索引擎大全,html怎么生成链接给别人#x1f4dd;个人主页#xff1a;五敷有你 #x1f525;系列专栏#xff1a;算法分析与设计
⛺️稳中求进#xff0c;晒太阳 题目
编写一个函数#xff0c;输入是一个无符号整数#xff08;以二进制串的形式#xff09;#xff0c;返回其二进制表达式中数字位… 个人主页五敷有你 系列专栏算法分析与设计
⛺️稳中求进晒太阳 题目
编写一个函数输入是一个无符号整数以二进制串的形式返回其二进制表达式中数字位数为 1 的个数也被称为汉明重量。
示例
示例 1
输入n 00000000000000000000000000001011
输出3
解释输入的二进制串 00000000000000000000000000001011 中共有三位为 1。
示例 2
输入n 00000000000000000000000010000000
输出1
解释输入的二进制串 00000000000000000000000010000000 中共有一位为 1。示例 3
输入n 11111111111111111111111111111101
输出31
解释输入的二进制串 11111111111111111111111111111101 中共有 31 位为 1
思路
们可以直接循环检查给定整数 nnn 的二进制位的每一位是否为 111。
具体代码中当检查第i位时我们可以让 n 与 1左移i位 进行与运算当且仅当 n 的第 i 位为 1 时运算结果不为 0。然后
实现代码
public class Solution {public int hammingWeight(int n) {int ret 0;for (int i 0; i 32; i) {if ((n (1 i)) ! 0) {ret;}}return ret;}
}
运行结果
时间复杂度O(n)
空间复杂度O(1)