Leecode加法题目3个 每日练习 Python实现(1)

简介: Leecode加法题目3个 每日练习 Python实现

问题描述:例一

image.png


代码实现:


class Solution:
    def addStrings(self, num1: str, num2: str) -> str:
        i,j=len(num1)-1,len(num2)-1 
        add=0
        answer=''
        while i>=0 or j >=0:
            x=int(num1[i]) if i>=0 else 0
            y=int(num2[j]) if j>=0 else 0
            sum=x+y+add
            answer+=str(sum%10)
            add=sum//10
            i,j=i-1,j-1
        if add>0:answer+=str(add)
        return answer[::-1]


不要忘记最前端的进制 问题本身不难😀


image.png


问题描述:例二

image.png


两种解法


一:常规操作


class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        if digits==[0]:
            return [1]
        else:
            answer=[]
            add=0
            i=len(digits)-1
            while i>=0:
                x=digits[i]
                y=1 if i==len(digits)-1 else 0
                sum=x+y+add
                answer.append(sum%10)
                add=sum//10
                i-=1
            if add>0:answer+=[add]
            return answer[::-1]


image.png


二:榴芒解法 Python一行代码解决


class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        return [int(i) for i in str(int(''.join(map(str,digits)))+1)]

image.png


两个差不了多少,但是第一个侧重通解(因为如果加数的位数不止一个一样可以那么做,可以看我之前的双指针博客)


问题描述:例三


一常规解法:


class Solution:

   def addBinary(self, a: str, b: str) -> str:

       i,j=len(a)-1,len(b)-1

       add=0

       answer=''

       while i>=0 or j>=0:

           x=int(a[i]) if i>=0 else 0

           y=int(b[j]) if j>=0 else 0

           sum=x+y+add

           answer=str(sum%2)+answer

           add=sum//2

           i,j=i-1,j-1

       if add>0:answer=str(add)+answer

       return answer



无非是把十进制改成二进制加法,换汤不换药


二:榴芒解法 Pythony一行代码搞定




class Solution:

   def addBinary(self, a: str, b: str) -> str:

       #bin(15)='0b1111'即把整数转化为二进制数

       #int('1111',2) int('A',16) 即把字符串转化成对应进制数

       return bin(int(a,2)+int(b,2))[2:]



我是小郑 期待与你一起奔赴山海!  


目录
相关文章
|
1月前
|
Python
Python:函数篇(每周练习)
Python:函数篇(每周练习)
81 1
|
2月前
|
机器学习/深度学习 算法 数据挖掘
python高级在线题目训练-第二套·主观题
python高级在线题目训练-第二套·主观题
40 0
|
1天前
|
存储 索引 Python
Python从入门到精通——1.3.1练习编写简单程序
Python从入门到精通——1.3.1练习编写简单程序
|
9天前
|
索引 Python
python 格式化、set类型和class类基础知识练习(上)
python 格式化、set类型和class类基础知识练习
32 0
|
18天前
|
安全 数据安全/隐私保护 Python
292: 程序设计C 实验五 题目三 设计密码(python)
292: 程序设计C 实验五 题目三 设计密码(python)
|
1月前
|
机器学习/深度学习 图形学 Python
Python矩阵加法
Python矩阵加法
|
2月前
|
Python
Python猜字游戏是一种常见的编程练习
Python猜字游戏是一种常见的编程练习
24 2
|
2月前
|
机器学习/深度学习 数据采集 算法
python高级在线题目训练-第二套
python高级在线题目训练-第二套
91 0
|
2月前
|
机器学习/深度学习 存储 算法
python高级在线题目训练-第一套-主观题
python高级在线题目训练-第一套-主观题
35 0
|
2月前
|
机器学习/深度学习 自然语言处理 算法
python高级在线题目训练-第一套
python高级在线题目训练-第一套
98 0

热门文章

最新文章