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

求最大连续bit数

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

/**
求一个int类型数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1

输入描述:
输入一个int类型数字

输出描述:
输出转成二进制之后连续1的个数
*/
import java.util.*;
public class Main{
    public static void main(String[]args){
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        String str= Integer.toBinaryString(n);
        char[]ch=str.toCharArray();
         int len=ch.length;
        int count=1;
        int max=1;
        for(int i=0;i<len-1;i++) {
        	if(ch[i]=='1'&& ch[i+1]==ch[i] ) {
        		count++;
        	}else if(ch[i]=='0'){
        		count=1;
        	}
        	//111000011
        	if(max<count) {
        		max=count;
        	}
        }
        System.out.println(max);
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务