25 lines
291 B
Ruby
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
|
||
|
|