LeetCode程序员面试题之递归乘法
更新时间:2023年02月05日 08:50:49 作者:灰太狼_cxh
在Java中,递归乘法是一种简单而有效的方法,可以用来计算两个数字的乘积。它的基本思想是:如果第一个数字是0,则乘积为0;如果第一个数字是1,则乘积为第二个数字;其他情况,则通过将第一个数字减1,并将第二个数字与自身相乘,来实现递归乘法。
题目:
递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。
示例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; }
到此这篇关于LeetCode程序员面试题之递归乘法的文章就介绍到这了,更多相关Java实现递归乘法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringCloud-Hystrix-Dashboard客户端服务监控的实现方法
这篇文章主要介绍了SpringCloud-Hystrix-Dashboard客户端服务监控的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-03解决Javaweb 提交表单到servlet时出现空白页面,但网站不报错问题
这篇文章主要介绍了解决Javaweb 提交表单到servlet时出现空白页面,但网站不报错的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08
最新评论