《LeetCode力扣练习》第338题 比特位计数 Java



一、资源

  • 题目:

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

    示例 1:

    输入:n = 2
    输出:[0,1,1]
    解释:
    0 --> 0
    1 --> 1
    2 --> 10

    示例 2:

    输入:n = 5
    输出:[0,1,1,2,1,2]
    解释:
    0 --> 0
    1 --> 1
    2 --> 10
    3 --> 11
    4 --> 100
    5 --> 101

    提示:

    0 <= n <= 105
    

    进阶:

    很容易就能实现时间复杂度为 O(n log n) 的解决方案,你可以在线性时间复杂度 O(n) 内用一趟扫描解决此问题吗?
    你能不使用任何内置函数解决此问题吗?(如,C++ 中的 __builtin_popcount )
    

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/counting-bits
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 上代码(经过线上OJ测试)
    /*** Created with IntelliJ IDEA.** @author : DuZhenYang* @version : 2022.03.01  18:01:48* description :*/
    public class LeetCode {public int[] countBits(int n) {int[] result = new int[n + 1];for (int i = 0; i <= n; i++) {result[i]=Integer.bitCount(i);}return result;}
    }
    

    或者

    /*** Created with IntelliJ IDEA.** @author : DuZhenYang* @version : 2022.03.01  18:01:48* description :*/
    public class LeetCode {public int[] countBits(int n) {int[] result = new int[n + 1];for (int i = 0; i <= n; i++) {result[i] = bitCount(i);}return result;}private int bitCount(int i) {int ones = 0;while (i > 0) {i = i & (i - 1);ones++;}return ones;}
    }
    

《LeetCode力扣练习》第338题 比特位计数 Java相关推荐

  1. LeetCode每日一题:比特位计数(No.338)

    题目:比特位计数 给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 复制代码 示例: 输入: 2 输出: [0,1, ...

  2. leetcode算法题--比特位计数

    原题链接:https://leetcode-cn.com/problems/counting-bits/ 最容易想到的方法,时间复杂度为O(n*k),k为数字的位数 代码: vector<int ...

  3. (进阶)LeetCode(338)——比特位计数(JavaScript)

    给定一个非负整数 num.对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回. 示例1: 输入: 2 输出: [0,1,1] 示例2: 输入: 5 ...

  4. 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java

    <LeetCode力扣练习>第96题 不同的二叉搜索树 Java 一.资源 题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回 ...

  5. 《LeetCode力扣练习》第75题 颜色分类 Java

    <LeetCode力扣练习>第75题 颜色分类 Java 一.资源 题目: 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按 ...

  6. 《LeetCode力扣练习》第64题 最小路径和 Java

    <LeetCode力扣练习>第64题 最小路径和 Java 一.资源 题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为 ...

  7. 《LeetCode力扣练习》第62题 不同路径 Java

    <LeetCode力扣练习>第62题 不同路径 Java 一.资源 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ). ...

  8. 《LeetCode力扣练习》第56题 合并区间 Java

    <LeetCode力扣练习>第56题 合并区间 Java 一.资源 题目: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, ...

  9. 《LeetCode力扣练习》第55题 跳跃游戏 Java

    <LeetCode力扣练习>第55题 跳跃游戏 Java 一.资源 题目: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大 ...

最新文章

  1. 【UIKit】文本框(UITextField)及键盘遮挡处理和回收
  2. Linux 下的动态链接库问题
  3. SAP FI 会计凭证过账bapi BAPI_ACC_DOCUMENT_POST
  4. 深入理解数据库行锁与表锁
  5. 关于asp.net中partial,asp.net编译笔记
  6. 演讲(1)----8个有趣故事
  7. 性能测试oracle瓶颈定位,性能测试难点之瓶颈分析
  8. CLRC66301国产替代,国产首颗全协议NFC芯片,可兼容A卡,B卡,F卡,15693卡,KK量级出货。
  9. 四年级计算机上册说课ppt,四年级上册《画长方形》说课稿
  10. 火狐浏览器设置字符编码格式
  11. 怎么用按键精灵快速开发计算距离自己最近的怪物/包裹/金矿坐标的脚本
  12. 各互联网技术领域pdf图书合集(百度网盘)
  13. 进程间通讯 rcf应用简介
  14. LeetCode-1276. 不浪费原料的汉堡制作方案
  15. 枚举子集复杂度 O(n^3) 证明
  16. iOS GitHub Top 100 简介
  17. java 以某某结尾_Java中删除第一个集合中以某某开头的元素,删除第二个集合中以某某结尾的元素,并合并成一个集合...
  18. Android Retrofit通过OkHttp设置Interceptor拦截器统一打印请求报文及返回报文
  19. 欢迎关注搜狗测试微信公众号
  20. 计算机SCI期刊投稿攻略(建议收藏!) - 易智编译EaseEditing

热门文章

  1. FPGA优化之高扇出
  2. Xilinx FPGA开发工具总结
  3. zynq学习02 新建一个Helloworld工程
  4. 解决Office 2010出现the setup controller has encountered a problem...
  5. python网络编程例子
  6. f5 2017.09.03故障
  7. Django restframework之Token验证的缺陷及jwt的简单使用
  8. [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器
  9. netty源码分析系列——EventLoop
  10. Java I/O演进与Linux网络I/O模型