leetcode如何實現(xiàn)數(shù)組形式的整數(shù)加法

本篇內(nèi)容主要講解“l(fā)eetcode如何實現(xiàn)數(shù)組形式的整數(shù)加法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“l(fā)eetcode如何實現(xiàn)數(shù)組形式的整數(shù)加法”吧!

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),南關(guān)企業(yè)網(wǎng)站建設(shè),南關(guān)品牌網(wǎng)站建設(shè),網(wǎng)站定制,南關(guān)網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,南關(guān)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

一、題目內(nèi)容

對于非負整數(shù) X 而言,X 的數(shù)組形式是每位數(shù)字按從左到右的順序形成的數(shù)組。例如,如果 X = 1231,那么其數(shù)組形式為 [1,2,3,1]。

給定非負整數(shù) X 的數(shù)組形式 A,返回整數(shù) X+K 的數(shù)組形式。

示例 1:

輸入:A = [1,2,0,0], K = 34
輸出:[1,2,3,4]
解釋:1200 + 34 = 1234

示例 2:

輸入:A = [2,7,4], K = 181
輸出:[4,5,5]
解釋:274 + 181 = 455

示例 3:

輸入:A = [2,1,5], K = 806
輸出:[1,0,2,1]
解釋:215 + 806 = 1021

示例 4:

輸入:A = [9,9,9,9,9,9,9,9,9,9], K = 1
輸出:[1,0,0,0,0,0,0,0,0,0,0]
解釋:9999999999 + 1 = 10000000000

提示:

1 <= A.length <= 10000
0 <= A[i] <= 9
0 <= K <= 10000
如果 A.length > 1,那么 A[0] != 0

二、解題思路

從右向左遍歷A,K每次除10取余,然后將二者相加;

carry是進位,如果相加完的結(jié)果大于10,就除以10,得到新carry;

相加完的結(jié)果除10取余得到該位的數(shù)字;

存在進位或者K的位數(shù)大于A的位數(shù),就把高位也變?yōu)閘ist;

最后高位在前,A在后(A已經(jīng)是相加完的結(jié)果),二者相加得到結(jié)果;

三、代碼

class Solution:
    def addToArrayForm(self, A: list, K: int) -> list:
        carry = 0
        for i in range(len(A) - 1, -1, -1):
            tmp = A[i] + K % 10 + carry
            carry = tmp // 10
            A[i] = tmp % 10
            K //= 10
        # 高位存在進位 或者 K的位數(shù)大于A的位數(shù)
        if carry == 1 or K != 0:
            high_num = K + carry  # 高位也需要變?yōu)閘ist
            tmp = []
            while high_num:
                tmp = [high_num % 10] + tmp
                high_num //= 10
            A = tmp + A
        return A


if __name__ == '__main__':
    s = Solution()
    A = [2, 1, 5]
    K = 9806
    ans = s.addToArrayForm(A, K)
    print(ans)

到此,相信大家對“l(fā)eetcode如何實現(xiàn)數(shù)組形式的整數(shù)加法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

分享題目:leetcode如何實現(xiàn)數(shù)組形式的整數(shù)加法
文章源于:http://muchs.cn/article48/ijohep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、App開發(fā)微信小程序、虛擬主機、網(wǎng)站收錄Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化