43 字串相乘

2021-09-11 18:42:36 字數 1330 閱讀 6767

小聲bb,直接int()多好 = =

既然題目要求不能直接用int(),我只好開動我的大腦開始想有什麼解決方案。然後首先想到的就是小學時候老師教乘法時用乘式寫法。

1 2 3

* 4 5

---------

6 1 5

4 9 2

---------

5 5 3 5

1 2 3

* 4 5

---------

1 51 0

0 5---------

0 6 1 5

1 20 8

0 4---------

0 5 5 3 5

我們就可以一位一位的計算了。。。(話說我為什麼不多想一會再去找答案呢= =)

下面是**:

執行用時: 332 ms, 在multiply strings的python3提交中擊敗了16.89% 的使用者

記憶體消耗: 13.3 mb, 在multiply strings的python3提交中擊敗了0.68% 的使用者

class

solution

:def

multiply

(self, num1:

str, num2:

str)

->

str:

i =1#乘數標誌位(從右向左)

j =1#被乘數標誌位(從右向左)

nums =

0#存放最終結果

nums_2 =

#存放某一位乘數與整個被乘數成績的結果

while i <=

len(num2)

: nums_1 =

#存放某位乘數對所有被乘數按位依次乘積的結果(一位數對一位數的乘積)

nums_sum =

0#計算某一位乘數與整個被乘數成績的結果

while j <=

len(num1)

:int

(num1[

-j])

*int

(num2[

-i])

*pow(10

,j-1))

j +=

1for x in nums_1:

nums_sum += x

pow(

10,i-1)

) i +=

1 j =

1for y in nums_2:

nums += y

return

str(nums)

43 字串相乘

給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於110。nu...

43 字串相乘

題目描述 給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於1...

43 字串相乘

給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於110。nu...