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

leetcode 338 比特位计数

一、题目描述

二、解题思路

我们可以借助位运算的思想来解决这个问题。通过k=k&(k-1)来消除k中最右边为1的比特位,每次消除后进行count++,当k为0时,表示所有的1消除完毕,此时的count即为所有1的个数。

三、代码实现

时间复杂度:T(n)=O(n*logn)

空间复杂度:S(n)=O(n)

class Solution {
public:vector<int> countBits(int n) {vector<int> ret;for(int i=0;i!=n+1;i++){int count=0;int k=i;while(k){count++;k=k&(k-1);}ret.push_back(count);}return ret;}
};

http://www.dtcms.com/a/356318.html

相关文章:

  • rockchip温控及cpu降频配置
  • 事务和锁(进阶)
  • 使用 Docker 部署 Squid 为 Kubernetes 中的 Nexus3 提供公网代理访问
  • Windows12概念曝光,巧用远程控制工具抢先体验
  • 人脸识别“不备案“有哪些后果?
  • 公司内网部署离线deepseek+docker+ragflow本地模型实战
  • Day15 Logurs框架学习
  • Elasticsearch核心配置与性能优化
  • Linux 线程调度核心要点
  • 期权合约作废了怎么处理?
  • AI共链·智存未来 | 绿算技术受邀出席华为AI SSD发布会
  • 若依微服务一键部署(RuoYi-Cloud):Nacos/Redis/MySQL + Gateway + Robot 接入(踩坑与修复全记录)
  • 吱吱企业通讯软件可私有化部署,构建安全可控的通讯办公平台
  • C++异常处理指南:构建健壮程序的错误处理机制
  • 2025年渗透测试面试题总结-39(题目+回答)
  • FDTD_mie散射_仿真学习(2)
  • AWS集成开发最佳实践:构建高效可靠的云管理平台
  • 海运业务怎么管?解析海运货代系统的核心功能模块
  • Blender建模软件基本操作--学习笔记1
  • CSS text-decoration-thickness:精细控制文本装饰线粗细的新属性
  • Git 9 ,.git/index.lock 文件冲突问题( .git/index.lock‘: File exists. )
  • 亚马逊巴西战略升级:物流网络重构背后的生态革新与技术赋能之路
  • 基于SpringBoot的足球青训俱乐部管理系统
  • 【数组特殊排序最小最大次小次大依次类推规律放置】2022-10-27
  • 香港电讯为知名投资公司搭建高效、安全IT管理服务体系
  • Java学习day_13之API(常用API对象克隆)
  • 高效接入:Suno API 与主流编程语言的结合
  • 从“安全诉讼”说起:奖励模型(Reward Model)是LLM对齐的总阀门(全视角分析)
  • 龙迅#LT7641GX适用于四路HDMI2.1/DP/TPYE-C转HDMI2.1混切应用,分辨率高达8K60HZ!
  • 【谷歌浏览器】浏览器实用自用版——谷歌浏览器(Google Chrome)离线纯净版安装 官方版无任何捆绑及广告 【离线安装谷歌浏览器】