zoukankan      html  css  js  c++  java
  • leetcode——67. 二进制求和

    简单题

    class Solution:
        def addBinary(self, a: str, b: str) -> str:
            s=0
            a=list(a)
            a=a[::-1]
            for i in range(1,len(a)):
                s+=int(a[i])*2**i
            s+=int(a[0])
            t=0
            b=list(b)
            b=b[::-1]
            for j in range(1,len(b)):
                t+=int(b[j])*2**j
            t+=int(b[0])
            n=s+t
            return bin(n)[2:]
    执行用时 :60 ms, 在所有 python3 提交中击败了36.13%的用户
    内存消耗 :13.7 MB, 在所有 python3 提交中击败了5.24%的用户
     
                                                 ——2019.10.17
     
     

    没有做出来,还有位运算的思想没有去了解。
    官方题解是将字符串翻转,然后进行求解,再将结果翻转,思路很巧妙。
    就是自己没有想出来,还需要再次进行复习。
     
    public String addBinary(String a, String b) {
            StringBuffer ans = new StringBuffer();
    
            int n = Math.max(a.length(), b.length()), carry = 0;
            for (int i = 0; i < n; ++i) {
                carry += i < a.length() ? (a.charAt(a.length() - 1 - i) - '0') : 0;
                carry += i < b.length() ? (b.charAt(b.length() - 1 - i) - '0') : 0;
                ans.append((char) (carry % 2 + '0'));
                carry /= 2;
            }
    
            if (carry > 0) {
                ans.append('1');
            }
            ans.reverse();
    
            return ans.toString();
        }

    ——2020.7.7

    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    1130 Infix Expression (25分)
    1131 Subway Map (30分)
    1132 Cut Integer (20分)
    1133 Splitting A Linked List (25分)
    1134 Vertex Cover (25分)
    1135 Is It A Red-Black Tree (30分)
    tensorflow 1.0的部分项目配置匹配
    1136 A Delayed Palindrome (20分)
    谷粒商城Redisson分布式锁(二十四)
    谷粒商城缓存(二十三)
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11695281.html
Copyright © 2011-2022 走看看