题解 | #求最大连续bit数#

求最大连续bit数

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

  1. 记住关于位运算得模板。
  2. 每次向右移,然后对1与操作。然后别忘了,右移之后要跟新num。
  3. 全局max可以参考使用。具体看注释
#include<bits/stdc++.h>

using namespace std;

int main(){
    int num;

    while(cin>>num){

        int res =0;
        int cur = 0;
        while(num){
            int n = num&1; //最低位得结果
            num = num >>1;
            if(n){
               cur++;//向前移动一位
            }else{
               cur = 0;//否则变成0
            }

            res = max(res,cur);//1. 刚开始移动是可以逐渐变化res得,后期如果出现了中断,那么除非cur大于res,否则res不更新

        }

        cout<<res<<endl;

    }



    return 0;
}



大厂笔试题题解 文章被收录于专栏

主要是公司笔试题得一些总结

全部评论

相关推荐

06-13 10:15
门头沟学院 Java
想去夏威夷的大西瓜在...:我也是27届,但是我现在研一下了啥项目都没有呀咋办,哎,简历不知道咋写
点赞 评论 收藏
分享
05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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