求最大连续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
    }
相关推荐
oak隔壁找我6 小时前
Spring Boot Starter 入门教程
java·后端
YoungP7 小时前
【Effective Java 条目一】-- 用静态工厂方法替代构造器
java
vxiam14xxx7 小时前
【Java Swing 项目】java 聊天系统
java·开发语言·python
Dylan的码园7 小时前
以二叉树问题为基础的递归调试学习(上)
java·学习·算法·leetcode·r-tree
少许极端7 小时前
算法奇妙屋(九)-栈
java·数据结构·算法·
shepherd1117 小时前
破局延时任务(下):Spring Boot + DelayQueue 优雅实现分布式延时队列(实战篇)
java·spring boot·后端
听风吟丶7 小时前
深入解析 Spring Boot 自动配置:原理、实践与进阶
java·数据库·sql
lang201509287 小时前
Spring Boot 核心技巧与实战指南
java·数据库·spring boot
CoovallyAIHub7 小时前
未来已来:从 CVPR & ICCV 观察 2025→2026 年计算机视觉的七大走向
深度学习·算法·计算机视觉