IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Leecode加法题目3个 每日练习 Python实现 -> 正文阅读

[数据结构与算法]Leecode加法题目3个 每日练习 Python实现

问题描述:例一

?代码实现:

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]

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

?

问题描述:例二?

?两种解法

一:常规操作

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]

?

?

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

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

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

问题描述:例三?

一常规解法:

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:]

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

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:09:15  更:2022-01-24 11:10:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:37:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码