LeetCode 338.比特位计数

各位朋友们,大家好啊,今天此题我用的方法比较好理解,但时间复杂度比较高如果大家觉得可以的话,不妨给个免费的赞吧,谢谢了^ _ ^

1.题目要求如图所示:

2.做题步骤:

1.先计算总共多少个数:

c 复制代码
    int count = 0;
    int number = 0;
    while(number <= n)
    {
        count++;
        number++;
    }

2.然后再用malloc函数:

c 复制代码
 int* number_t = (int*)malloc(sizeof(int) * count);

3.再采用双层while循环,再利按位与操作符和右移操作符来求每个数中1的个数:

c 复制代码
int k = count;
    number = 0;
    count = 0;
    int f = 0;
    while(number <= n)
    {
        int numbers = number;
        count = 0;
        while(numbers)
        {
            if(numbers & 1 == 1)
            {
                count++;
            }
            numbers =  numbers >> 1;
        }
        printf("%d ",count);
        number_t[f] = count;
        f++;
        number++;
    }

全部代码如图所示:

c 复制代码
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* countBits(int n, int* returnSize) {
    int count = 0;
    int number = 0;
    while(number <= n)
    {
        count++;
        number++;
    }
    int* number_t = (int*)malloc(sizeof(int) * count);
    int k = count;
    number = 0;
    count = 0;
    int f = 0;
    while(number <= n)
    {
        int numbers = number;
        count = 0;
        while(numbers)
        {
            if(numbers & 1 == 1)
            {
                count++;
            }
            numbers =  numbers >> 1;
        }
        printf("%d ",count);
        number_t[f] = count;
        f++;
        number++;
    }
    *returnSize = k;
    return number_t;   
}

好了,这就是我全部的代码,大家如果觉得好的话,请给个免费的赞吧,谢谢了^ _ ^

相关推荐
sewinger14 分钟前
区间合并算法详解
算法
XY.散人17 分钟前
初识算法 · 滑动窗口(1)
算法
huanxiangcoco19 分钟前
152. 乘积最大子数组
python·leetcode
韬. .39 分钟前
树和二叉树知识点大全及相关题目练习【数据结构】
数据结构·学习·算法
Word码44 分钟前
数据结构:栈和队列
c语言·开发语言·数据结构·经验分享·笔记·算法
五花肉村长1 小时前
数据结构-队列
c语言·开发语言·数据结构·算法·visualstudio·编辑器
一线青少年编程教师1 小时前
线性表三——队列queue
数据结构·c++·算法
Neituijunsir1 小时前
2024.09.22 校招 实习 内推 面经
大数据·人工智能·算法·面试·自动驾驶·汽车·求职招聘
希望有朝一日能如愿以偿2 小时前
力扣题解(飞机座位分配概率)
算法·leetcode·职场和发展
Espresso Macchiato2 小时前
Leetcode 3306. Count of Substrings Containing Every Vowel and K Consonants II
leetcode·滑动窗口·leetcode medium·leetcode 3306·leetcode周赛417