求最大连续bit数

示例1

输入:200

输出:2

说明:

复制代码
在这个样例中,十进制 200​ 等于二进制 11 001 000,其中最长连续 1 段的长度为 2。

实现代码:

java 复制代码
public static void main(String[] args) {
        // 创建Scanner对象读取输入
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();  // 读取输入的十进制整数
        
        int maxLength = 0;    // 记录最长连续1的长度
        int currentLength = 0; // 记录当前连续1的长度
        
        // 遍历二进制位
        while (n > 0) {
            if ((n & 1) == 1) {
                // 当前位是1,增加当前连续1的长度
                currentLength++;
                maxLength = Math.max(maxLength, currentLength);
            } else {
                // 当前位是0,重置当前连续1的长度
                currentLength = 0;
            }
            // 右移一位,处理下一个二进制位
            n >>= 1;
        }
        
        System.out.println(maxLength);  // 输出结果
        scanner.close();  // 关闭Scanner
    }
相关推荐
16_one8 小时前
autoDL安装Open-WebUi+Rag本地知识库问答+Function Calling
人工智能·后端·算法
狂奔小菜鸡9 小时前
Day18 | 深入理解Object类
java·后端·java ee
jiayong239 小时前
Maven NUL文件问题 - 解决方案实施报告
java·maven
未秃头的程序猿9 小时前
🔒 从单机到分布式:三大锁机制深度剖析与实战指南
java·后端
大猫子的技术日记9 小时前
[百题重刷]前缀和 + Hash 表:缓存思想, 消除重复计算
java·缓存·哈希算法
s***35309 小时前
Spring Boot3.x集成Flowable7.x(一)Spring Boot集成与设计、部署、发起、完成简单流程
java·spring boot·后端
rafael(一只小鱼)9 小时前
AI运维开发平台学习
java·开发语言
散峰而望9 小时前
C++数组(三)(算法竞赛)
开发语言·c++·算法·github
空空kkk9 小时前
SpringMVC——IO笔记
java·io
q***95229 小时前
SpringMVC 请求参数接收
前端·javascript·算法