我的问题陈述:
正整数 N 内的二进制间隙是 N 的二进制表示中两端都被 1 包围的连续零的最大序列。例如,数字 9 具有二进制表示 1001 并且包含长度为 2 的二进制间隙。 529 具有二进制表示形式 1000010001,并包含两个二进制间隙:一个长度为 4,一个长度为 3。数字 20 具有二进制表示形式 10100,包含一个长度为 1 的二进制间隙。数字 15 具有二进制表示形式 1111,并且没有二进制间隙。数字 32 的二进制表示形式为 100000,并且没有二进制间隙。
我的代码:
public class Abc {
static void decToBinary(int n) {
int[] binaryNum = new int[1000];
// counter for binary array
int i = 0;
while (n > 0) {
// storing remainder in binary array
binaryNum[i] = n % 2;
n = n / 2;
i++;
}
int ctr = …Run Code Online (Sandbox Code Playgroud)