[NeetCode 150] Counting Bits

Counting Bits

Given an integer n, count the number of 1’s in the binary representation of every number in the range [0, n].

Return an array output where output[i] is the number of 1’s in the binary representation of i.

Example 1:

Input: n = 4Output: [0,1,1,2,1]

Explanation:
0 --> 0
1 --> 1
2 --> 10
3 --> 11
4 --> 100

Constraints:

0 <= n <= 1000

Solution

If we go through the numbers from 0 0 0 to n n n, we can find that for a binary number 1 B 1B 1B ( B B B can be any binary sequence), the number of 1 in B B B is computed and 1 B 1B 1B has one more 1 compared with B B B. Thus, we can do a dynamic programming, transferring the number of 1 from B B B to 1 B 1B 1B.

Code

class Solution:def countBits(self, n: int) -> List[int]:power = 1dp = [0]*(n+1)dp[0] = 0for i in range(1, n+1):if i == power*2:power *= 2dp[i] = dp[i-power]+1return dp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT项目-仿QQ聊天(带宠物系统)

目录 一&#xff0c;项目介绍 二&#xff0c;开发环境 三&#xff0c;涉及技术 四&#xff0c;项目效果示例图 1&#xff0c;登录界面 2&#xff0c;主界面 3&#xff0c;聊天界面 4&#xff0c;功能界面 5&#xff0c;宠物界面 一&#xff0c;项目介绍 这是一个基于u…

Sampling采样与Virtual Columns虚拟列

1.大数据体系下&#xff0c;在真正的企业环境中&#xff0c;很容易出现很大的表&#xff0c;比如体积达到 TB 级别.对这种表一个简单的 SELECT * 都会非常的慢&#xff0c;哪怕 LIMIT 10 想要看 10 条数据&#xff0c;也会走 MapReduce 流程 这个时间等待是不合适的.Hive 提供的…

Kafka之消费者客户端

1、历史上的二个版本 与生产者客户端一样&#xff0c;在Kafka的发展过程当中&#xff0c;消费者客户端主要有两个大的版本&#xff1a; 旧消费者客户端&#xff08;Old Consumer&#xff09;&#xff1a;基于Scala语言开发的版本&#xff0c;又称为Scala消费者客户端。新消费…

蚁剑连接本地木马文件报错

项目场景&#xff1a; 本地搭建php和蚁剑环境&#xff0c;连接本地木马文件ma.php 问题描述 使用蚁剑连接localhost时报错 错误{ "address":"127.0.0.1" "code":"ECONNREFUSED", "errno":"ECONNREFUSED", &qu…

【JVM】——JVM运行机制、类加载机制、内存划分

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;JVM引入 1&#xff1a;编程语言 2&#xff1a;JAVA运行机制 二&#xff1a;JVM中内存…

1U服务器和Hyper-V虚拟机使用记录

记录最近接触服务器和虚拟机的一些使用操作知识 背景&#xff1a;1U服务器上架使用&#xff0c;备份其他服务器vm虚拟机&#xff0c;Hyper-V管理虚拟机使用测试 设备&#xff1a;IBM3550服务器交换机&#xff0c; 移动硬盘&#xff1a;附加存储盘&#xff0c; u盘1&#xff1…

Openshift上使用Elasticsearch (ECK) Operator部署ES

部署 7.16.2 版本 Elasticsearch (ECK) Operator部署ES oc new-project middleware-elasticsearchapiVersion: elasticsearch.k8s.elastic.co/v1 kind: Elasticsearch metadata:name: es-testnamespace: middleware-elasticsearch spec:http:tls:selfSignedCertificate:disab…

go高并发之路——本地缓存

一、使用场景 试想一个场景&#xff0c;有一个配置服务系统&#xff0c;里面存储着各种各样的配置&#xff0c;比如直播间的直播信息、点赞、签到、红包、带货等等。这些配置信息有两个特点&#xff1a; 1、并发量可能会特别特别大&#xff0c;试想一下&#xff0c;一个几十万…

Anchor DETR:Transformer-Based目标检测的Query设计

写在前面 文中指出之前DETR-like算法存在以下问题&#xff1a; 之前DETR-liked检测算法里&#xff0c;object query是一组可学习的嵌入表示&#xff08;就是一组256-d的向量&#xff09;&#xff0c;缺乏明确的物理意义&#xff0c;不能解释它们会关注什么地方。每个object q…

探索现代软件开发中的持续集成与持续交付(CI/CD)实践

探索现代软件开发中的持续集成与持续交付&#xff08;CI/CD&#xff09;实践 随着软件开发的飞速进步&#xff0c;现代开发团队已经从传统的开发模式向更加自动化和灵活的开发流程转变。持续集成&#xff08;CI&#xff09; 与 持续交付&#xff08;CD&#xff09; 成为当下主…

【SSM-Day5】SpringMVC

【SSM-Day5】SpringMVC Web->Servlet->Servlet容器MVC档案SpringMVC档案SpringMVC核心操作&#x1f4e2;建立连接RequestMapping&#xff1a;实现路由映射Controller/ResponseBody&#xff1a;表示Spring某个类是否可以接收HTTP请求 &#x1f4e2;接收请求1. 直接接收一个…

【skywalking 】选择Elasticsearch存储

介绍 skywalking支持 Elasticsearch 和 OpenSearch 作为存储。 OpenSearch 是 ElasticSearch 7.11 的一个分支&#xff0c;但在 Apache 2.0 中获得许可。 OpenSearch 存储与 ElasticSearch 共享相同的配置。为了激活 OpenSearch 作为存储&#xff0c;请将存储提供程序设置为e…

MySQL中的Redo Log、Undo Log和Binlog:深入解析

引言 在数据库管理系统中&#xff0c;日志是保障数据一致性和完整性的关键机制。MySQL作为一种广泛使用的关系型数据库管理系统&#xff0c;提供了多种日志类型来满足不同的需求。本文将详细介绍MySQL中的Redo Log、Undo Log和Binlog&#xff0c;从背景、业务场景、功能、底层…

【QT】Qt窗口(上)

个人主页~ Qt窗口 一、菜单栏二、工具栏三、状态栏四、浮动窗口 Qt窗口是通过QMainWindow类来实现的&#xff0c;我们之前的学习是通过QWidget类实现的 QMainWindow包含一个菜单栏Menu Bar②&#xff0c;多个工具栏Tool Bars③&#xff0c;多个浮动窗口Dock Widgets&#xff0c…

CISC(Complex Instruction Set Computer)和RISC(Reduced Instruction Set Computer)

CISC&#xff08;Complex Instruction Set Computer&#xff09;和RISC&#xff08;Reduced Instruction Set Computer&#xff09;是两种不同类型的指令集架构&#xff08;ISA&#xff09;&#xff0c;它们在设计理念、指令复杂性、寻址方式、实现方式以及应用场景上存在显著差…

关闭windows更新方法

在windows更新里选择暂停windows更新 然后按下winr&#xff0c;输入regedit 在注册表里找到 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings\PauseUpdatesExpiryTime 修改时间即可

什么是事件冒泡?如何阻止事件冒泡和浏览器默认事件?

事件冒泡是浏览器事件处理模型中的一个重要概念。当一个事件发生在某个元素上时&#xff0c;它会首先在该元素上触发&#xff0c;然后逐层向上冒泡到其父元素&#xff0c;直到根元素&#xff08;通常是 document&#xff09;为止。这意味着如果在一个嵌套的元素上触发了事件&am…

【数据分享】中国汽车市场年鉴(2013-2023)

数据介绍 在这十年里&#xff0c;中国自主品牌汽车迅速崛起。吉利、长城、比亚迪等品牌不断推出具有竞争力的车型&#xff0c;在国内市场乃至全球市场都占据了一席之地。同时&#xff0c;新能源汽车的发展更是如日中天。随着环保意识的提高和政策的大力支持&#xff0c;电动汽车…

PCL库中的算法封装详解

摘要 Point Cloud Library&#xff08;PCL&#xff09;是一个广泛应用于三维点云处理的开源库&#xff0c;涵盖了从基础数据结构到高级算法的丰富功能。PCL通过面向对象的设计和模块化的架构&#xff0c;将各种算法封装成独立的类&#xff0c;使得用户能够方便地调用和组合这些…

第十八届联合国世界旅游组织/亚太旅游协会旅游趋势与展望大会在广西桂林开幕

10月19日&#xff0c;第十八届联合国世界旅游组织/亚太旅游协会旅游趋势与展望大会(以下简称“大会”)在广西桂林开幕&#xff0c;来自美国、英国、德国、俄罗斯、柬埔寨等25个国家约120名政府官员、专家学者和旅游业界精英齐聚一堂&#xff0c;围绕“亚洲及太平洋地区旅游业&a…