給定一個正整數N,返回其最長二進制間隔的長度。如果N不包含二進制間隔,則該函數應該返回0。

例如,給定N = 1041,函數應返回5,因為N具有二進製表示10000010001,因此其最長二進制間隙的長度為5.給定N = 32,函數應返回0,因為N具有二進製表示'100000',因此沒有二元差距。

public static int solution\(int N\) {

     int result = 0;

     int temp = 0;

     String tentotwo = Integer.toBinaryString\(N\);

     for\(int i =0; i<tentotwo.length\(\) ; i++\) {

         if\(tentotwo.charAt\(i\) == '1'\) {

             if\(temp > result\) {

                 result = temp;

             }

             temp = 0;

         }else {

             temp ++;

         }

     }

     return result;

}



public static void main\(String\[\] args\) {

    // TODO Auto-generated method stub

    int temp = 1041;

    int result = solution\(temp\);

    System.out.print\(result\);

}

results matching ""

    No results matching ""