求最大连续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
    }
相关推荐
噢,我明白了39 分钟前
java中唯一键和幂等键的应用
java·后端
程序猿乐锅1 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
专注仿真1 小时前
ACM算法
算法·深度优先
考虑考虑1 小时前
synchronized字符串常量
java·后端·java ee
长谷深风1111 小时前
Tool与Skill:AI能力设计的分水岭
java·人工智能·ai·大模型·aiagent
m0_587383001 小时前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析
Escalating_xu1 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
周杰偷奶茶2 小时前
【Java】数据类型与变量
java·开发语言
code斗2 小时前
Java数据结构:堆详解
java·开发语言·数据结构
重生之小比特2 小时前
【C++进阶】map和set
java·开发语言·c++