給定一個正整數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\);
}