描述
求一个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);
            }
        }
}