当前位置: 首页 > article >正文

【LeetCode】【算法】338. 比特位计数

LeetCode 338. 比特位计数

题目描述

给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。

思路

思路:一个for循环遍历[0,n],统计二进制中1的个数思路如下:

  1. int count = 0; int tmp = i;
  2. while循环,条件是tmp!=0。在循环中count += tmp&1; tmp>>1;,也就是不断做右移,不断统计1的个数

代码

class Solution {
    public int[] countBits(int n) {
        int[] result = new int[n + 1];
        for (int i = 0; i <= n; i++) {
            int count = 0;
            int tmp = i;
            while (tmp != 0){
                count += tmp & 1;
                tmp = tmp >> 1;
            }
            result[i] = count;
        }
        return result;
    }
}

http://www.kler.cn/a/382309.html

相关文章:

  • AI驱动无人驾驶:安全与效率能否兼得?
  • 京东零售推荐系统可解释能力详解
  • 基于matlab的语音识别系统
  • js中怎么把excel和pdf文件转换成图片打包下载
  • 什么是Java的线程(Thread)?
  • 全面解析Flutter中的Stream用法及实际应用
  • TS-AWG控制电光调制器:推动科技应用新发展的利器
  • 一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
  • Allegro: 开源的高级视频生成模型
  • 服务器的配置复杂,租用时该如何选择参数?
  • 数据库->索引
  • 入门车载以太网(3) -- 网络层
  • 核心概念解析Caffeine 缓存模型与策略
  • 在函数 \( f(x+1) = x^2 + 1 \) 中,\( x \) 和 \( x+1 \) 代表不同的概念
  • ElasticSearch认识
  • HFSS学习笔记(五)金属过孔、复制模型带激励等问题(持续更新...)
  • 【大数据学习 | kafka】kafka的偏移量管理
  • 黄山谷捷:以创新为翼,领航新能源汽车散热基板行业
  • kotlin android Handler removeCallbacks runnable不生效的一种可能
  • 033_Structure_Static_In_Matlab求解结构静力学问题两套方法
  • Oracle 第24章:云数据库服务
  • 基于Python的智能旅游推荐系统设计与实现
  • C++练习题(2)
  • VSCode 与 HBuilderX 介绍
  • 新一代Webshell管理器
  • 告别复杂协作:Adobe XD的简化替代方案