-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBinaryGap.py
More file actions
35 lines (25 loc) · 808 Bytes
/
BinaryGap.py
File metadata and controls
35 lines (25 loc) · 808 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def solution(n):
binary = '{0:b}'.format(n)
prevCount = 0
currentCount = 0
startOfOne = False
for i in range(len(binary) -1):
if (binary[i] == "1" and binary[i+1] == "1"):
continue
if (binary[i] == "1" and binary[i+1] == "0"):
prevCount+=1
startOfOne= True
continue
if (binary[i] == "0" and binary[i+1] == "0"):
if (startOfOne):
prevCount+=1
continue
if (binary[i] == "0" and binary[i+1] == "1"):
if (startOfOne):
if currentCount < prevCount:
currentCount = prevCount
prevCount=0
startOfOne=False
continue
return currentCount
print(solution(1376796946))