欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

边工作边刷题:70天一遍leetcode: day 33-3

发布时间:2025/7/14 编程问答 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 边工作边刷题:70天一遍leetcode: day 33-3 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Multiply Strings

要点:基本公式就是从低位开始(或者string的高index)两层loop:i,j乘积对应的位置是i+j+1(比如0,0,的位置是1,这里0的位置是进位。另外一定要有高位在0的sense)。
错误点:

  • j是下位乘数的index,因为有进位,所以j要超出0,要更新j-=1
class Solution(object):def multiply(self, num1, num2):""":type num1: str:type num2: str:rtype: str"""n1 = len(num1)n2 = len(num2)res = [0]*(n1+n2)if num1=="0" or num2=="0": return "0"for i in range(n1-1, -1, -1):# 1. resetcarry = 0for j in range(n2-1, -1, -1):d1 = ord(num1[i])-ord('0')d2 = ord(num2[j])-ord('0')total = d2*d1+carry+res[i+j+1]carry = total/10res[i+j+1] = total%10j-=1if carry!=0:total = res[i+j+1]+carryres[i+j+1]=total%10if res[0]==0: del res[0]resStr = []for i in range(len(res)):resStr.append(str(res[i]))return ''.join(resStr)

转载于:https://www.cnblogs.com/absolute/p/5678185.html

总结

以上是生活随笔为你收集整理的边工作边刷题:70天一遍leetcode: day 33-3的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。