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

力扣 338题 比特位计数

动态规划

1.奇数中1的个数,是它上一个数1个个数+1,如2(10),3(11),4(100),5(101)

2.偶数中1的个数,是它除以2后的那个数的1的个数,如2(10),4(100),8(1000),6(110),12(1100)

3.因此,dp[i]=i&1?dp[i-1]+1:dp[i>>1]

 

class Solution {
public:
    vector<int> countBits(int n) {
        vector<int>dp(n+1,0);
        for(int i=1;i<n+1;++i){
            if(i&1) dp[i] = dp[i-1]+1;
            else dp[i] = dp[i>>1];
        }
        return dp;
    }
};
http://www.zskr.cn/news/10876.html

相关文章:

  • 技术前瞻与个人发展 - 构建终身学习的手艺体系——AI大模型:从0手搓到∞——AI、大模型时代,如何学习?
  • 企业服务管理是做什么的?-ManageEngine卓豪
  • fastApi框架开发一个web端仓库管理系统 - 实践
  • 英伟达入资 11Labs,黄仁勋:语音 AI 带来情感、共情和联结;Qwen3-TTS-Flash:多语言,多音色,多方言丨日报
  • 【论文阅读】Uncertainty Modeling for Out-of-Distribution Generalization (ICLR 2022) - 详解
  • 数字孪生 + 碳痕追踪:MyEMS 给能源管理装了套 “全链路全景导航”
  • 基于IOS26的iOS 内存分析与必要内存界定
  • 深入解析:ARM架构学习9——LM75温度传感器+ADC转换器
  • P14062 【MX-X21-T7】[IAMOI R5] 若我不曾见过太阳 题解
  • 一套自用的git提交规范,可清晰的识别到关联的任务/bug - 实践
  • 撕开厂商锁定黑箱:MyEMS 如何用开源代码夺回能源管理的 “自主控制权”?
  • C造桥与砍树
  • Keil uVision5 MDK 5.42安装教程(支持ARM Cortex全系列开发)
  • 从Void到Task<PublishAggregateResult>:一次服务方法返回类型重构的纠结与决策
  • jenkins job的configure中配置git时 选择的credential为什么不能选择secret认证方式的数据
  • Day21继承
  • 实用指南:科研绘图Origin百度云盘下载与安装指南
  • 题解:P8300 [COCI 2012/2013 #2] INSPEKTOR
  • SuperHarness-3D低压柜机电协同设计方案!
  • 详细介绍:.NET驾驭Word之力:打造专业文档 - 页面设置与打印控制完全指南
  • vim 入门教学4(命令行模式教学)
  • 使用.NET标准库实现多任务并行处理的详细过程 - 实践
  • 模型训练中 平均损失值和平均准确率的深入理解
  • 一篇了解 Git 运用方式
  • torch.max函数在分类问题中的使用 学习
  • react native 国际化 react-i18next 和 i18n,运用高级组件的形式。 - 指南
  • react性能优化
  • Gitee如何重塑中国开发者的代码托管体验
  • 模块化面向对象 2章
  • Debezium + Kafka + Flink/Doris Stream Load 实时数仓