题解 | #求最大连续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-08 13:58
门头沟学院 Java
程序员小白条:竟然是蓝桥杯人才doge,还要花钱申领的offer,这么好的公司哪里去找
点赞 评论 收藏
分享
投递华为等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-29 12:19
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务