题解 | #求最大连续bit数#
求最大连续bit数
https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2
import java.util.Scanner;
// 解题思路:通过i%2获取最后一位是否为1,用count记录连续的1的个数,如果为0,将count置为0,下次从新记录。
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int i=1;
int max = 0,count = 0;
while(num!=0){
if((num & 1)==1){ //相当于num%2
count++;
}else{
max = Math.max(max,count);
count= 0;
}
num = num>>1; //相当与num/2
}
max = Math.max(max,count);
System.out.println(max);
}
}

查看1道真题和解析