codility BinaryGap

来源:互联网 发布:吃金针菇拉金针菇知乎 编辑:程序博客网 时间:2024/05/20 09:22

Question:codility Lesson1 BinaryGap

My answer:

def solution(N):    len_max = 0    len_cur = 0    flag    = 0    Nstr = bin(N).replace('0b','')    length = len(Nstr)    for i in range(length):        if Nstr[i] == '1':            if flag == 0:                flag = 1            else:                len_max = max(len_max,len_cur)            len_cur = 0        else:            len_cur += 1    return len_max
def solution(N):    len_max = 0    len_cur = 0    flag    = 0    mask    = 1    length  = len(bin(N).replace('0b',''))    for i in range(length):        if ((N & (mask << i)) != 0):            if flag == 0:                flag = 1            else:                len_max = max(len_max,len_cur)            len_cur = 0        else:            len_cur += 1    return len_max
原创粉丝点击