题解 | #求最大连续bit数#
求最大连续bit数
https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); String bit= Integer.toString(a,2); boolean hasResult=false; //和最长子串类似,是最长子串的简化版 for(int length=bit.length();length>0;length--){ for(int i=0;i<bit.length()-length+1;i++){ if(!bit.substring(i,i+length).contains("0")){ System.out.println(length); hasResult=true; break; } } if(hasResult){ break; } } if(!hasResult){ System.out.print(0); } } } }