challenge-codility/binary-gap/solution.rb
2022-08-21 16:00:40 +02:00

25 lines
291 B
Ruby

def solution(n)
gap = 0
maxgap = 0
bin = []
# revert number
while n > 0 do
bin.unshift(n%2)
n = (n>>1)
end
# count
bin.each do |b|
if b != 0 then
maxgap = gap if gap > maxgap
gap = 0
next
end
gap += 1
end
return maxgap
end