题解 | 求最大连续bit数

求最大连续bit数

https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2

#include <iostream>
using namespace std;

int main() {
    int n;cin>>n;
    int res = 0;
    while(n){
        if(n&1){
            int cnt = 1;
            while((n>>=1)&1&&n){
                cnt++;
            }
            res = max(res,cnt);
        }
        n>>=1;

    }
    cout<<res<<'\n';
    return 0;
}
// 64 位输出请用 printf("%lld")

使用位运算,让n左移,然后与1判断,输出最长的即可。

活动地址https://www.nowcoder.com/discuss/726480854079250432

#牛客春招刷题训练营#
全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
12-18 11:21
优秀的大熊猫在okr...:叫你朋友入职保安,你再去送外卖,一个从商,一个从政,你们两联手无敌了,睁开你的眼睛看看,现在是谁说了算(校长在背后瑟瑟发抖)
选实习,你更看重哪方面?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务