功能: 求一個byte數字對應的二進制數字中1的最大連續數,例如3的二進制爲00000011,最大連續2個1
輸入: 一個byte型的數字
輸出: 無
返回: 對應的二進制數字中1的最大連續數java
輸入一個byte數字ide
輸出轉成二進制以後連續1的個數spa
3
2
1 import java.util.*; 2 3 public class Main{ 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 while (sc.hasNext()) { 7 int n = sc.nextInt(); 8 String s = Integer.toBinaryString(n); 9 int j = 0,max = 0; 10 for(int i = 0;i < s.length();i++){ 11 if(s.charAt(i) == '1') 12 j = i + 1; 13 while (j < s.length() && s.charAt(j)=='1'){ 14 j++;// i到j-1爲數字 15 } 16 if (j - i > max) 17 max = j - i; 18 } 19 System.out.println(max); 20 } 21 } 22 }
找到了一種 計算字符串中最長某串的方法code