求最大連續bit數

題目描述

功能: 求一個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 } 
View Code

找到了一種 計算字符串中最長某串的方法code

相關文章
相關標籤/搜索