大数乘法

大数乘法

http://www.nowcoder.com/questionTerminal/c4c488d4d40d4c4e9824c3650f7d5571

使用不进位的长乘法进行计算,然后依次进位,注意数组顺序颠倒和首段多出的0。
用例通过率: 100.00% 运行时间: 30ms 占用内存: 6520KB。

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# @param s string字符串 第一个整数
# @param t string字符串 第二个整数
# @return string字符串
#
class Solution:
    def solve(self, s, t):
        s = list(map(int, list(s)))
        s.reverse()
        t = list(map(int, list(t)))
        t.reverse()
        ans = [0]*(len(s)+len(t))
        for i in range(0, len(s)):
            for j in range(0, len(t)):
                ans[i+j] += s[i]*t[j]
        carry = 0
        for i in range(0, len(ans)):
            ans[i] += carry
            carry = int(ans[i]/10)
            ans[i] = str(ans[i] % 10)
        while ans[-1] == '0' and len(ans) > 1:
            ans.pop()
        ans.reverse()
        return ''.join(ans)
全部评论

相关推荐

目前感觉简历还有很多问题,希望各位能不吝赐教以及非常感谢这位老哥——@黑皮白袜臭脚体育生 的项目,学完一遍感觉受益颇丰
小菜鸡只想转正:校友,我的建议是冗余的最好去掉,突出重点,比如985,211双一流的提示,专业技能调整到个人项目之后的位置。专业技能感觉写的太细了?占用篇幅最好腾出一点给项目经历,如果没写手机号和邮箱,记得加上。
点赞 评论 收藏
分享
评论
12
2
分享

创作者周榜

更多
牛客网
牛客企业服务