zoukankan      html  css  js  c++  java
  • [Notes] 每日一题 二进制求和

    题目

    给你两个二进制字符串,返回它们的和(用二进制表示)。
    
    输入为 非空 字符串且只包含数字 1 和 0。
    
     
    
    示例 1:
    
    输入: a = "11", b = "1"
    输出: "100"
    示例 2:
    
    输入: a = "1010", b = "1011"
    输出: "10101"
     
    
    提示:
    
    每个字符串仅由字符 '0' 或 '1' 组成。
    1 <= a.length, b.length <= 10^4
    字符串如果不是 "0" ,就都不含前导零。
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/add-binary
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
    

    思路

    1. 直接字符串对位判断

    代码

    class Solution:
        def addBinary(self, a: str, b: str) -> str:
            alen = len(a)
            blen = len(b)
            tmp_e = 0
            cur_e = 0
            result_str = ''
            if alen > blen:
                aa = a
                bb = b
                leng = alen
                mlen = blen
            else:
                aa = b
                bb = a
                leng = blen
                mlen = alen
            for i in range(leng):
                if i >= mlen:
                    curr_2 = 0
                else:
                    curr_2 = bb[-1 - i]
                curr_1 = aa[-1 - i]        
                cur_e = tmp_e + int(curr_1) + int(curr_2)
                if cur_e == 3:
                    tmp_e = 1
                    result_str = '1' + result_str
                elif cur_e == 2:
                    tmp_e = 1
                    result_str = '0' + result_str
                elif cur_e == 1:
                    tmp_e = 0
                    result_str = '1' + result_str
                else:
                    tmp_e = 0
                    result_str = '0' + result_str
            if tmp_e != 0:
                result_str = '1' + result_str
            return result_str
    
  • 相关阅读:
    基于apache httpclient 调用Face++ API
    布隆过滤器(BloomFilter)持久化
    布隆过滤器
    基于firebird的数据转存
    kafka和rabbitmq对比
    python操作rabbitmq
    TCP窗口
    python操作kafka实践
    python使用etcd
    快速排序的python实现
  • 原文地址:https://www.cnblogs.com/immortalBlog/p/13181046.html
Copyright © 2011-2022 走看看