华为机试-最大连续bit数(HJ86)

求最大连续bit数

https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2?tpId=37&&tqId=21309&rp=1&ru=/ta/huawei&qru=/ta/huawei/question-ranking

纯C

#include <stdio.h>

int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int a[8]={0};
        for(int i=0;i<8;i++)
        {
            if(n&(1<<i)) a[i] = 1;
        }
        int count=0;
        int max=0;
        for(int i=0;i<8;i++)
        {
            if(a[i]==1)
                count++;
            else
                count=0;
            max=max>count?max:count;
        }
        printf("%d\n",max);
    }
}
全部评论
你这代码有问题,在往a[i]里更新的时候应该加个判断更新0;不然后面的输入会保留之前的1导致次数错误
点赞 回复 分享
发布于 2021-03-30 22:41

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
accaacc:2到4k,不是2k到4k,所以年薪是30块
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务