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

求最大连续bit数

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

描述
求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1
本题含有多组样例输入。
输入描述:
输入一个byte数字
输出描述:
输出转成二进制之后连续1的个数;
本题解题思路就在如何快速转化成二进制,同时能把1都集中起来,因此想到用字符串分割0,这样连续的1就能在一起,同时只要求字符串数组中,最长的那串

import java.util.Scanner;
public class Main {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            while(sc.hasNext()){
                int n = sc.nextInt();
                String str = Integer.toBinaryString(n);
                String[] arr =str.split("0");
                int max=0;
                for(String s :arr){
                    max=s.length()>max?s.length():max;
                }
                System.out.println(max);
            }
        }
}
全部评论

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
10-29 15:38
门头沟学院 Java
榕城小榕树:难道你简历里写了配送路径优化算法?
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务