题解 | #求最大连续bit数#正则 and 位运算

求最大连续bit数

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

import java.util.*;
import java.util.stream.*;
import java.util.regex.*;
import java.util.function.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // Matcher matcher = Pattern.compile("(1+)")
        //                   .matcher(Integer.toBinaryString(in.nextInt()));
        // int len = 0;
        // while (matcher.find()) {
        //     if (matcher.group().length() > len) {
        //         len  = matcher.group().length();
        //     }
        // }
        // System.out.println(len);
        
        int num = in.nextInt();
        int max = 0;
        int len = 0;
        while (num > 0) {
            if ((num & 1) == 1) {
                len++;
            } else  {
                if (len > max) {
                    max = len;
                }
                len = 0;
            }
            num >>= 1;
        }
        if (len > max) {
            max = len;
        }
        System.out.println(max);
    }
}


全部评论

相关推荐

05-16 09:20
已编辑
中国民航大学 Java
点赞 评论 收藏
分享
没有offer的呆呆:薪资有的时候也能说明一些问题,太少了活不活得下去是一方面,感觉学习也有限
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务