首页 > 其他分享 >剑指 Offer II 003. 前 n 个数字二进制中 1 的个数【模拟】

剑指 Offer II 003. 前 n 个数字二进制中 1 的个数【模拟】

时间:2022-09-19 09:55:24浏览次数:70  
标签:II return Offer int 复杂度 个数 003 二进制

题目

给定一个非负整数 n ,请计算 0n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。

难度:简单

说明 :

  • 0 <= n <= 105

题解

按照题意模拟即可

class Solution {
    public int[] countBits(int n) {
        int[] res = new int[n + 1];
        for (int i = 0; i <= n; i++) {
            res[i] = getCount(i);
        }
        return res;
    }
    
    int getCount(int u) {
        int count = 0;
        for (int i = 0; i < 32; i++) {
            // 与1相与,判断最低位是1还是0
            count += u & 1;
            // 每次右移1位
            u = u >> 1;
            // 提前退出
            if (u == 0) {
                return count;
            }
        }
        return count;
    }
}

复杂度分析

  • 时间复杂度:O(n)
  • 空间复杂度:O(n)

标签:II,return,Offer,int,复杂度,个数,003,二进制
From: https://www.cnblogs.com/tothk/p/16706704.html

相关文章

  • 剑指 Offer II 002. 二进制加法【暴力】【模拟】
    题目给定两个01字符串a和b,请计算它们的和,并以二进制字符串的形式输出。输入为非空字符串且只包含数字1和0。难度:简单提示:1<=a.length,b.length<=104......
  • 4. [2003年NOIP普及组] 栈
    #include<iostream>#include<cstdio>#include<cmath>usingnamespacestd;//因为我们要求的方案数,可以借用离散的思想——//不用考虑每个数组中具体是那个数//只......
  • 学习笔记-涛讲F#(基础 II)
    目录处理一堆数组织代码(命名空间、模块)使用联合重命名类型类必须显式转换成接口对象表达式递归函数CPS解决堆栈溢出扩展一个类型静态解析的类型参数ref变量的实现原理及应......
  • 通过IIS部署Flask项目
      本文主要介绍在WindowsServer2012R2上通过IIS部署Flask项目的过程,以及对TTFB延迟大问题的思考。关于如何申请云服务器,注册(子)域名,备案,开放云服务器端口,获取SSL证书......
  • IIS 实现http重定向https(亲测有效:解决URL重写模块配置https重定向不生效的问题)
    前言以前部署网站的时候,都是通过代码来实现http重定向https,最近在部署个人网站的时候,突发奇想可不可通过IIS来实现无代码的重定向呢?在一番操作猛如虎的搜索引擎操作后,发......
  • 剑指 Offer 05. 替换空格
    题目剑指Offer05.替换空格请实现一个函数,把字符串s中的每个空格替换成"%20"。示例1:输入:s="Wearehappy."输出:"We%20are%20happy."思路双指针,类似于27.移......
  • C#、IIS获取时间带星期或日期问题解决
    cmd   regedit打开注册表,进入到[HKEY_USERS\.DEFAULT\Control Panel\International]  ,然后1、将键 sDate 的值由 / 改为 - 2、将键 sShortDate 的值由 yyyy......
  • Meeting Rooms III
    MeetingRoomsIIIYouaregivenaninteger$n$.Thereare$n$roomsnumberedfrom$0$to$n-1$.Youaregivena2Dintegerarray meetings where meetings[i......
  • 剑指Offer 30.包含min的栈
    定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数在该栈中,调用min、push及pop的时间复杂度都是O(1)。 示例:MinStackminStack=newMinSt......
  • 网络填坑之路(5)mii-tool命令 – 网络设备协商工具
    参考文档:mii-toolmii-tool(媒体无关接口工具)mii-tool是以太网专用硬件工具,主要用于设置以太网设备,但它也可以提供有关当前设置的信息。这个信息,诸如连接速度和双工设......