二进制中1的个数(简单难度)

简介: 二进制中1的个数(简单难度)

目录

题目概述(中等难度)

思路与代码

思路展现

代码示例

题目概述(中等难度)

2.png


题目链接:

点我进入leetcode


思路与代码

思路展现

这道题目思路依然取自我们K神大佬,这里就不再做过多的赘述了

关于逻辑右移,左移,右移还不清楚的小伙伴可以来看这篇题解:

点我进入题解

或者来看我的这篇博客:

点我进入博客

二进制减法不会的同学可以来看这篇博客:

点我进入博客


代码示例

代码1:

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
       int res = 0;
       while(n != 0) {
          //这里直接+=是非常便捷的写法,无需使用if语句判断n&1是否等于1或者0
           res += n&1;
           //逻辑右移
           n >>>= 1;
       }
       return res;
    }
}

2.png


代码2:

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
       int res = 0;
       while(n != 0) {
        //先把1的个数统计后,再去做与运算.
           res++;
           n &= (n-1);
       }
       return res;
    }
}

2.png

相关文章
|
4月前
|
存储 算法
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
34 0
|
4月前
《剑指offer》——二进制中1的个数
《剑指offer》——二进制中1的个数
|
4月前
|
算法
算法题 — 整数转二进制,查找其中1的数量
算法题 — 整数转二进制,查找其中1的数量
30 0
判断一个数字是否可以表示成三的幂的和(难度:中等)
判断一个数字是否可以表示成三的幂的和(难度:中等)
【剑指offer】-二进制中1的个数-11/67
【剑指offer】-二进制中1的个数-11/67
|
4月前
|
存储 C语言
C语言训练:三个字符串比较大小,实现两个整数数的交换统计二进制中1的个数
C语言训练:三个字符串比较大小,实现两个整数数的交换统计二进制中1的个数
|
机器学习/深度学习 C++
剑指offer 14. 二进制中1的个数
剑指offer 14. 二进制中1的个数
49 0
|
算法 C语言
编程之美求二进制数中1的个数
编程之美求二进制数中1的个数
85 0
|
算法 JavaScript 前端开发
算法简单题,吾辈重拳出击 - 前 n 个数字二进制中 1 的个数
最近做的题,明眼人一看都能知道大都和动态规划 DP 有关,因为就是从动态规划分类下抽取的简单题,有的题在剑指 offer 系列中是简单题,但是在力扣主列表里确实中等难度的题目。 简单与难,也并非是绝对的,每个人的感受都会不同。更重要的是,通过这些题构建基础的算法思路,建立信心。
|
算法
求两个数对应二进制位不同的个数(深度剖析+补充例题)
求两个数对应二进制位不同的个数(深度剖析+补充例题)
148 0
求两个数对应二进制位不同的个数(深度剖析+补充例题)