binary_sum_zip_longest.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:entrevista-tecnica 作者: renzon 项目源码 文件源码
def binary_sum(n, n2):
    """n and n2 are non negative binary numbers with arbitrary len. Ex:
     '00010101001010101010101010101010101001010101010101010'
     O(max(n, n2))
    """
    n = less_to_great_significant_digit(n)
    n2 = less_to_great_significant_digit(n2)
    last_d_sum = 0
    result = deque()
    for d, d2 in zip_longest(n, n2, fillvalue=0):
        d_sum = last_d_sum + d + d2
        last_d_sum = 0 if d_sum < 2 else 1
        result.appendleft(str(d_sum % 2))
    if last_d_sum == 1:
        result.appendleft('1')
    return ''.join(result)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号