LeetCode338. Counting Bits

news/2025/3/16 6:27:55/

文章目录

    • 一、题目
    • 二、题解

一、题目

Given an integer n, return an array ans of length n + 1 such that for each i (0 <= i <= n), ans[i] is the number of 1’s in the binary representation of i.

Example 1:

Input: n = 2
Output: [0,1,1]
Explanation:
0 --> 0
1 --> 1
2 --> 10
Example 2:

Input: n = 5
Output: [0,1,1,2,1,2]
Explanation:
0 --> 0
1 --> 1
2 --> 10
3 --> 11
4 --> 100
5 --> 101

Constraints:

0 <= n <= 105

Follow up:

It is very easy to come up with a solution with a runtime of O(n log n). Can you do it in linear time O(n) and possibly in a single pass?
Can you do it without using any built-in function (i.e., like __builtin_popcount in C++)?

二、题解

class Solution {
public:int hammingWeight(int n) {n = (n & 0x55555555) + ((n >> 1) & 0x55555555);n = (n & 0x33333333) + ((n >> 2) & 0x33333333);n = (n & 0x0f0f0f0f) + ((n >> 4) & 0x0f0f0f0f);n = (n & 0x00ff00ff) + ((n >> 8) & 0x00ff00ff);n = (n & 0x0000ffff) + ((n >> 16) & 0x0000ffff);return n;}vector<int> countBits(int n) {vector<int> res(n+1,0);for(int i = 0;i <= n;i++){res[i] = hammingWeight(i);}return res;}
};

http://www.ppmy.cn/news/1274783.html

相关文章

【matlab】MATLAB 中矩阵操作与应用

引言 矩阵是 MATLAB 中最重要和常用的数据结构之一。它在科学计算、数据处理和算法设计中发挥着关键作用。本文将深入探讨 MATLAB 中的矩阵,包括矩阵的定义、创建、索引、运算以及一些常见的应用。 1. 矩阵的定义和创建 在 MATLAB 中,矩阵是一个二维的数值数组。可以使用不…

安装android studio

记录一下安装android studio的过程&#xff1a; 1.首先安装android studio到某一文件夹后&#xff0c;在C盘用户目录下可以看到.android文件夹。C:\Users\22515\AppData\Local\Google目录下也会出现AndroidStudio2022.2文件夹。&#xff08;注意&#xff1a;用户名&#xff0c…

内衣洗衣机好用吗?专门洗内衣内裤的热门小型洗衣机

随着人们的生活水平的提升&#xff0c;越来越多小伙伴来开始追求更高的生活水平&#xff0c;一些智能化的小家电就被发明出来&#xff0c;而且内衣洗衣机是其中一个。现在通过内衣裤感染到细菌真的是越来越多&#xff0c;所以我们对内衣裤的清洗频次会高于普通衣服&#xff0c;…

记录今日将C语言的Windows程序更改为python语言Windows程序,实现子窗口控制,类似微信程序框架最简单的原型

基本思路 为什么要选择python制作Windows应用程序&#xff0c;主要就是源代码直接展示&#xff0c;发现问题随时修改&#xff0c;同时可以不断增加新的功能方便。 由于C语言的Windows程序中结构类型在python中不能使用&#xff0c; 因此我们按照ctypes模块指导意见继承structu…

【超图】SuperMap iClient3D for WebGL/WebGPU —— 单体gltf模型与Blender中的方向对应关系

作者&#xff1a;taco 在很多包含动画的场景中&#xff0c;像模拟小人的行走、模拟火车的轨迹运行&#xff0c;又或者是模拟风力发电等等等。我们通常会加一些动画模型到里面。而有的时候可能会出现&#xff0c;这火车怎么倒着走啊&#xff01;这人怎么头朝下啊。这种方向的问题…

js实现给html加水印

创建一个 dom 元素调用下面的方法 var setWatermark (str,dom) > {const id 23.12.18;const element document.getElementById(id); if (element ! null) {element.parentNode.removeChild(element); // 从其父节点中移除该元素}const oBOM document.getElementById(do…

AI写作范文:心血管内科护理风险因素分析及防范对策

1 引言 1.1 心血管内科的重要性与护理挑战 1.2 研究背景与论文的研究目的 2 心血管内科护理风险因素的现状分析 2.1 国内外心血管内科护理风险研究进展 2.2 心血管内科常见护理风险因素总结 3 心血管内科护理风险因素具体分析 3.1 患者因素&#xff1a;年龄、性别、疾病…

01-从JDK源码级别彻底剖析JVM类加载机制

文章目录 类加载运行全过程类加载器和双亲委派机制类加载器初始化过程双亲委派机制为什么要设计双亲委派机制&#xff1f;全盘负责委托机制自定义类加载器 打破双亲委派机制Tomcat打破双亲委派机制Tomcat自定义加载器详解模拟实现Tomcat的JasperLoader热加载 补充&#xff1a;H…