Easy
Binary Gap — Python
Full explanation · Time O(1) · Space O(1)
# Time: O(logn) = O(1) due to n is a 32-bit number
# Space: O(1)
class Solution(object):
def binaryGap(self, N):
"""
:type N: int
:rtype: int
"""
result = 0
last = None
for i in xrange(32):
if (N >> i) & 1:
if last is not None:
result = max(result, i-last)
last = i
return result