面试题 08.05. 递归乘法
2023-02-18 16:34:58 时间
递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。
示例1:
输入:A = 1, B = 10
输出:10
示例2:
输入:A = 3, B = 4
输出:12
代码
class Solution {
public:
int multiply(int A, int B) {
if (A==1)
return B;
if (B==1)
return A;
if (A>B)
{
return A+multiply(A,B-1);
}else
{
return B+multiply(A-1,B);
}
}
};
class Solution {
public:
int multiply(int A, int B) {
if (A > B) return multiply(B, A);
if (A == 0) return 0;
return B + multiply(A - 1, B);
}
};
相关文章
- elementui的loading加载页面的使用方式
- javascript监听页面关闭事件
- 【小程序】微信小程序开发在app.json中新建页面时报[ WXML 文件编译错误] (env: Windows,mp,1.06.2206090; lib: 2.25.0)
- 【Linux】宝塔面板设置MySQL慢查询日志,未走索引日志
- GIS :元宇宙未来发展的有力技术支撑
- Scrum Master需要具备哪些能力和经验
- 带你玩转Flink流批一体分布式实时处理引擎
- 都2022年了,你的前端工具集应该有vueuse
- 云图说|图解DGC:基于华为智能数据湖解决方案的一体化数据治理平台
- “云联邦”构建连云成片、无缝混合的一朵云
- 面试官: Flink双流JOIN了解吗? 简单说说其实现原理
- 4种Spring Boot 实现通用 Auth 认证方式
- 【伙伴故事】一盏智能灯,点亮家庭和工业照明的新未来
- 理清逻辑,确保云原生时代应用开发的全生命周期安全
- 基于实例数据详解准确率和召回率
- 近数据处理(NDP)——GaussDB(for MySQL)性能提升的秘密
- 万字总结Keras深度学习中文文本分类
- 今儿新学会一个写日志技能:双缓冲机制
- 【伙伴故事】智慧厨电接入华为云+HarmonyOS,你的未来厨房长这样
- 解析HetuEngine实现On Yarn原理