Skip to content

Instantly share code, notes, and snippets.

@alexradzin
Created March 21, 2023 12:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexradzin/3f8fb27eec4a5928792eba5f9cf175ea to your computer and use it in GitHub Desktop.
Save alexradzin/3f8fb27eec4a5928792eba5f9cf175ea to your computer and use it in GitHub Desktop.
Codility:BinaryGap
class BinaryGap {
public int solution(int num) {
boolean start = false;
int maxZeroCount = 0;
int zeroCount = 0;
for (; num > 0 ; num = num / 2) {
int b = num % 2;
if (b == 1 && !start) {
start = true;
}
if (start) {
if (b == 0) {
zeroCount++;
} else {
if (zeroCount > maxZeroCount) {
maxZeroCount = zeroCount;
}
zeroCount = 0;
}
}
}
return maxZeroCount;
}
public static void main(String[] args) {
int res = new BinaryGap().solution(32);
System.out.println(res);
}
}
function solution(num) {
var start = false;
var maxZeroCount = 0;
var zeroCount = 0;
for (; num > 0 ; num = Math.trunc(num / 2)) {
var b = Math.trunc(num % 2);
if (b == 1 && !start) {
start = true;
}
if (start) {
if (b == 0) {
zeroCount++;
} else {
if (zeroCount > maxZeroCount) {
maxZeroCount = zeroCount;
}
zeroCount = 0;
}
}
}
return maxZeroCount;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment