首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典: 递归乘法

#yyds干货盘点# LeetCode程序员面试金典: 递归乘法

时间:2023-02-03 19:32:29浏览次数:40  
标签:yyds max min int 金典 示例 ans LeetCode Math

题目:

递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。

示例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;
}

标签:yyds,max,min,int,金典,示例,ans,LeetCode,Math
From: https://blog.51cto.com/u_13321676/6036043

相关文章