通讯!#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;    }

标签: 递归函数 可以使用

上一篇:
下一篇: