技术栈

每日一题 338. 比特位计数

清炒孔心菜2024-12-23 15:18

338. 比特位计数

难点是发现规律

cpp 复制代码
class Solution {
public:
    vector<int> countBits(int n) {
        
        vector<int> dp(n+1,0);
        if(n <=0)
        {
            return dp;
        }
        dp[1] = 1;
        if(n == 1)
        {
            return dp;
        }
        int bin = 0;
        for(int i=2;i<=n;++i)
        {
            int base = getBinary(i);
            dp[i] = dp[i-(1<<base)] + 1; 
        }
        return dp;
    }

    int getBinary(int num)
    {
        int ret = 0;
        while( num != 0)
        {
            num  = num >> 1;
            ++ret;
        }
        return ret-1;
    }
};
上一篇:强基计划之编程:开启科研精英培养新路径
下一篇:STM32点亮LED灯
相关推荐
Navigator_Z
13 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
青山木
15 小时前
Hot 100 --- 编辑距离
java·数据结构·算法·leetcode·动态规划
All for pursuit.
18 小时前
【回溯-4】46.全排列
数据结构·c++·算法·leetcode
All for pursuit.
1 天前
【回溯-5】78.子集
数据结构·c++·算法·leetcode
代码什么用
1 天前
LeetCode-560.和为 K 的子数组
算法·leetcode
All for pursuit.
1 天前
【回溯-3】39.组合总和
数据结构·c++·算法·leetcode
yi011
1 天前
DAY19: LeetCode 28 找出字符串中第一个匹配项的下标
人工智能·笔记·python·算法·leetcode
不会就选b
1 天前
算法日常・每日刷题--<动态规划>6
数据结构·算法·leetcode
0+111
2 天前
算法 --模拟
c++·算法·leetcode
Nil208
2 天前
leetcode 739每日温度
算法·leetcode·职场和发展
热门推荐
01如何新建文件夹? 电脑新建文件夹的4种方法02国内可直接用、免费额度/永久免费的大模型API清单(含 SiliconFlow、火山、阿里、智谱、百度、Kimi、DeepSeek、DMXAPI 等)03历年考研数学一、数学二、数学三真题试卷及答案PDF04Telegram APK 下载安装完整指南 — 2026年最新05GitHub 镜像站点06蜘蛛磁力 搜索引擎大全,如何使用蜘蛛磁力查找磁力链接07Windows 10/11 如何退出微软账户并改用本地账户登录(含找不到选项的解决方法)082026 爱知・名古屋亚运会怎么看?直播平台+赛程安排分享09微信历史版本含下载地址( Windows PC | 安卓 | MAC )及设置微信不更新10给AI一张“业务概念地图“:本体如何从哲学走向企业智能