字符串相乘Python解法
生活随笔
收集整理的這篇文章主要介紹了
字符串相乘Python解法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
給定兩個(gè)以字符串形式表示的非負(fù)整數(shù)?num1?和?num2,返回?num1?和?num2?的乘積,它們的乘積也表示為字符串形式。
注意:不能使用任何內(nèi)置的 BigInteger 庫(kù)或直接將輸入轉(zhuǎn)換為整數(shù)。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/multiply-strings
?
例:
輸入: num1 = "123", num2 = "456" 輸出: "56088"解析:
每個(gè)位數(shù)單獨(dú)計(jì)算并相加
class Solution(object):def multiply(self, num1, num2):""":type num1: str:type num2: str:rtype: str"""carry = res = 0num1, num2 = '0' * len(num2) + num1, '0' * len(num1) + num2 # 擴(kuò)充位置n = len(num1)for i in range(n):for j in range(i + 1):carry += int(num1[n - 1 - j]) * int(num2[n - 1 - i + j]) # 每個(gè)位數(shù)單獨(dú)計(jì)算res += carry % 10 * 10 ** i # 去掉進(jìn)位數(shù)carry = carry // 10 # 進(jìn)位數(shù)return str(res)總結(jié)
以上是生活随笔為你收集整理的字符串相乘Python解法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 充得快还是用得久 哪个才能真正触达消费者
- 下一篇: 1099起 荣耀Plat 7T正式发布