展示型网站源码,包头有没有专业做淘宝网站的,家装公司网站建设网站,办公室设计图片目录 一、问题描述
二、解题思路
三、代码
四、复杂度分析 一、问题描述
给定一个正整数 n#xff0c;编写一个函数#xff0c;获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数#xff08;也被称为汉明重量#xff09;。
二、解题思路
强制将 n 当作…目录 一、问题描述
二、解题思路
三、代码
四、复杂度分析 一、问题描述
给定一个正整数 n编写一个函数获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数也被称为汉明重量。
二、解题思路
强制将 n 当作无符号类型处理 即使原始 n 是负数转换为 unsigned int 后仍然保留了其 32 位的补码表示。 num 1 和 num 1 会安全地进行 32 次迭代不会陷入死循环。 所以我们依然能正确统计 1 的个数
三、代码
class Solution {
public:int hammingWeight(int n) {unsigned int num static_castunsigned int(n); // 转换为无符号整数int count 0;while (num ! 0) {count (num 1); // 判断最低位是否为1num 1; // 无符号右移不保留符号位}return count;}
};四、复杂度分析
复杂度类型复杂度说明时间复杂度O(1)固定32位整数最多32次循环空间复杂度O(1)只使用常数个变量