43 字串相乘

2022-08-11 05:18:15 字數 709 閱讀 5932

2020-04-16

字串相乘

給定兩個以字串形式表示的非負整數 num1 和 num2,

返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。

題解:豎式乘法

首先需要知道一點:兩個數字相乘,最後的結果的長度必然小於兩者的長度之和。

豎式乘法就是採用的這種思想,相當於將結果整個採用陣列的方式儲存。如圖:

圖中結果陣列中的第 k 位在哪些情況下會被修改呢?

現在我們假設 num1 當前的位置是 i ,num2 當前的位置是 j 。

那麼可以看出:i + j + 1 == k 時第 k 位會被直接修改,同時也可能會進製第 k - 1 位。

具體情況如下:

/*

* * @param num1

* @param num2

* @return */

var multiply = function

(num1, num2)

} for (let i = 0; i < res.length; i++)

}};

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 字串相乘

小聲bb,直接int 多好 既然題目要求不能直接用int 我只好開動我的大腦開始想有什麼解決方案。然後首先想到的就是小學時候老師教乘法時用乘式寫法。1 2 3 4 5 6 1 5 4 9 2 5 5 3 51 2 3 4 5 1 51 0 0 5 0 6 1 5 1 20 8 0 4 0 5 5 3...