通訊!#yyds干貨盤點# LeetCode程序員面試金典: 遞歸乘法

2023-02-05 12:23:36 來源:51CTO博客


【資料圖】

題目:

遞歸乘法。 寫一個遞歸函數,不使用 * 運算符, 實現兩個正整數的相乘。可以使用加號、減號、位移,但要吝嗇一些。

示例1:

輸入:A = 1, B = 10

輸出:10

示例2:

輸入:A = 3, B = 4

輸出:12

代碼實現:

public int multiply(int A, int B) {        int min = Math.min(A, B);        int max = Math.max(A, B);        int ans = 0;        for (int i = 0; min != 0; i++) {            if ((min & 1) == 1) {                ans += max << i;            }            min >>= 1;        }        return ans;    }

標簽: 遞歸函數 可以使用

上一篇:
下一篇: