利用别人域名做自己的网站电子商务网站建设评价
1 问题
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。
示例 1:
输入: num1 = “2”, num2 = “3”
 输出: “6”
示例 2:
输入: num1 = “123”, num2 = “456”
 输出: “56088”
2 答案
这题直接不会
官方解,也用了int转换成整型,只不过是把单个字符转成int
class Solution:def multiply(self, num1: str, num2: str) -> str:if num1=='0' or num2=='0':return '0'm, n = len(num1), len(num2)ansArr = [0] * (m+n)for i in range(m-1, -1, -1):for j in range(n-1, -1, -1):ansArr[i+j+1] += int(num1[i])*int(num2[j])for i in range(m+n-1, 0, -1):  # 进位ansArr[i-1] += ansArr[i] // 10ansArr[i] %= 10index = 1 if ansArr[0] == 0 else 0ans = "".join(str(x) for x in ansArr[index:])return ans
 
n u m 1 num1 num1 和 n u m 2 num2 num2 的乘积的最大长度为 m + n m+n m+n, n u m 1 [ i ] × n u m 2 [ j ] num1[i]×num 2[j] num1[i]×num2[j] 的结果位于 a n s A r r [ i + j + 1 ] ansArr[i+j+1] ansArr[i+j+1]
