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;   
}

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

相关推荐
肥猪猪爸2 小时前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn2 小时前
二分基本实现
数据结构·算法
萝卜兽编程2 小时前
优先级队列
c++·算法
盼海2 小时前
排序算法(四)--快速排序
数据结构·算法·排序算法
一直学习永不止步3 小时前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
Rstln3 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
芜湖_4 小时前
【山大909算法题】2014-T1
算法·c·单链表
珹洺4 小时前
C语言数据结构——详细讲解 双链表
c语言·开发语言·网络·数据结构·c++·算法·leetcode
几窗花鸢4 小时前
力扣面试经典 150(下)
数据结构·c++·算法·leetcode
.Cnn4 小时前
用邻接矩阵实现图的深度优先遍历
c语言·数据结构·算法·深度优先·图论