程序员面试金典 - 面试题 08.05. 递归乘法(位运算)

1. 题目

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

示例1:输入:A = 1, B = 10输出:10示例2:输入:A = 3, B = 4输出:12提示:
保证乘法范围不会溢出

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/recursive-mulitply-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 右移1位 == 除以2
  • 左移1位 == 乘以2

2.1 递归

class Solution {
public:int multiply(int A, int B) {if(A < B)A^=B^=A^=B;//swap大的在前,少递归几次if(B==1)return A;if((B&1)==0)//B是偶数return multiply(A,B>>1)<<1;elsereturn A + (multiply(A,B>>1)<<1);}
};

2.2 循环

class Solution {
public:int multiply(int A, int B) {int i = 0, ans = 0;if(A < B)A^=B^=A^=B;//swap大的在前while(B)//把B分解成2进制数,对每一位乘以A{if((B&1)==1)//该位为1(1,2,4,8,16)ans += A<<i;//移动0,1,2,3,4位B >>= 1;//B的每位移到最右 & 1来判断i++;}return ans;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新整理完成

终于把主站做完了&#xff0c;用了一个小型的cms系统&#xff0c;因为买不起asp.net的空间&#xff0c;而且因为买的时候没问清楚&#xff0c;后来才知道限制cpu4%以内&#xff0c;才知道频繁的server unavaliable是多么的痛苦。我现在把修正后的新闻系统重新提供下载&#xff…

PromptCLUE:大规模多任务Prompt预训练中文开源模型

简介PromptCLUE&#xff1a;大规模多任务Prompt预训练中文开源模型。中文上的三大统一&#xff1a;统一模型框架&#xff0c;统一任务形式&#xff0c;统一应用方式。支持几十个不同类型的任务&#xff0c;具有较好的零样本学习能力和少样本学习能力。针对理解类任务&#xff0…

JS基础知识总结

前几天在网上看到的一个总结&#xff0c;觉得挺好的&#xff0c;所以记录了下来&#xff0c;以备查用。1 创建脚本块 1: <script language”JavaScript”>2: JavaScript code goes here3: </script> 2 隐藏脚本代码 1: <script language”JavaScript”>2: &…

程序员面试金典 - 面试题 10.02. 变位词组(哈希map)

1. 题目 编写一种方法&#xff0c;对字符串数组进行排序&#xff0c;将所有变位词组合在一起。 变位词是指字母相同&#xff0c;但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"]…

python3.7安装wordcloud_Python中的wordcloud库安装问题及解决方法

今天下载wordcloud的时候出现了很多问题&#xff0c;在此总结总结 1.问题一&#xff1a;You are using pip version 19.0.3, however version 20.0.2 is available…问题解决方法&#xff1a; 打开cmd输入如下命令 python -m pip install -U pip 2.问题二&#xff1a;error: Mi…

互联网最值得加入的173家国企汇总

文 | 重庆搬砖喵、王二源 | 知乎今年的就业形势&#xff0c;实在是严峻。社招都这样&#xff0c;更别说应届生。虽然有一些垃圾国企&#xff0c;但仍然有非常多值得考虑的国企&#xff0c;毕竟优质的国企很稳定&#xff0c;不会像互联网一样担忧年纪大被裁员的情况发生&#xf…

LeetCode 1111. 有效括号的嵌套深度(奇偶分离)

1. 题目 有效括号字符串 仅由 "(" 和 ")" 构成&#xff0c;并符合下述几个条件之一&#xff1a; 空字符串连接&#xff0c;可以记作 AB&#xff08;A 与 B 连接&#xff09;&#xff0c;其中 A 和 B 都是有效括号字符串嵌套&#xff0c;可以记作 (A)&…

一首好听的音乐

昨天在不经意间突然听到一首超好听的曲子&#xff0c;来自班得瑞的《赞美主》,一直狂听好几个小时&#xff0c;音乐实在太美了&#xff0c;似同宁静的山谷中发出最自然的声音&#xff0c;让人心旷神怡&#xff0c;真是一种享受。一直以来都认为古典音乐是最美的&#xff0c;没想…

bpsk调制及解调实验_无线通信中的IQ调制,BPSK调制,QPSK调制,16QAM调制的理解...

欢迎FPGA工程师加入官方微信技术群点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群先从IQ调制说起&#xff1a;IQ调制&#xff1a;IQ解调原理&#xff1a;Linux下使用GNU Octave运行下面的代码&#xff1a;MATLAB123456t-1:0.001:1;f1;ycos(2*pi*2*f*t);subplot(1,2,…

突发!图森未来CEO侯晓迪被罢免,公司疑遭SEC、FBI联手调查,市值一夜砍半

编辑 | 泽南、小舟来源 | 机器之心侯晓迪&#xff1a;我被「无故撤职」了。自动驾驶领域又有大事发生。著名自动驾驶卡车公司图森未来&#xff08;TuSimple, TSP&#xff09;10 月 31 日突然表示&#xff0c;已将首席执行官兼联合创始人侯晓迪解雇&#xff0c;该决定立即生效。…

异常处理的最佳习惯

一个被良好设计的错误处理代码块集可以让程序更健壮并且面临更少的崩溃机会&#xff0c;因为这样的应用程序对错误进行了处理。下面的列表包含了异常处理最佳习惯中的建议&#xff1a;知道什么时候要设立 try/catch 块。例如&#xff0c;你可以通过编程来检查可能发生在使用异常…

LeetCode 299. 猜数字游戏

1. 题目 你正在和你的朋友玩 猜数字&#xff08;Bulls and Cows&#xff09;游戏&#xff1a;你写下一个数字让你的朋友猜。 每次他猜测后&#xff0c;你给他一个提示&#xff0c;告诉他有多少位数字和确切位置都猜对了&#xff08;称为“Bulls”, 公牛&#xff09;&#xff0…

手机内部零件名称图解_旧手机回收后都干嘛了?

以下为正文有问题不懂&#xff1f;有事情不知道&#xff1f;疑难问题需要求解&#xff1f;快来汉中艾特闹APP提问贴心小编和60万汉中艾特闹粉丝为你解答‍汉中艾特闹APP【有问必答】栏目已上线新一期网友提问来了↓↓↓网友提问旧手机回收后都干嘛了&#xff1f;对此问题&#…

AI取代人类,可以自动生成prompt了

文 | 智商掉了一地如何才能让大型语言模型按照我们的要求去做&#xff1f;这篇文章给出了回答——近期在 NLP 领域风很大的话题莫过于 Prompt&#xff0c;尤其当大型语言模型&#xff08;LLM&#xff09;与其结合&#xff0c;更是拉近了我们与应用领域之间的距离&#xff0c;当…

Atmospheric Scattering

以前由于硬件限制&#xff0c;很多游戏的天空和地面颜色主要是用贴图模拟&#xff0c;近来硬件的发展&#xff0c;越来越多的游戏开始采用基于比较真实的大气散射模型来实时计算。很多文章的计算最终都将眼睛高度和角度作为参数&#xff0c;这里主要按照Sean O’Neil系列的方法…

程序员面试金典 - 面试题 10.11. 峰与谷(排序/不排序)

1. 题目 在一个整数数组中&#xff0c;“峰”是大于或等于相邻整数的元素&#xff0c;相应地&#xff0c;“谷”是小于或等于相邻整数的元素。 例如&#xff0c;在数组{5, 8, 2, 6, 3, 4, 3}中&#xff0c;{8, 6}是峰&#xff0c; {3, 2}是谷。 现在给定一个整数数组&#xf…

计算机视觉自学进阶路上不可忽略的几个原创公众号

人工智能行业目前已接近饱和状态&#xff0c;如何从内卷中脱颖而出&#xff0c;除了极强的自律之外&#xff0c;系统性的学习方法也很重要。今天给大家推荐10个原创公众号&#xff0c;这些公众号定期会发些高质量原创&#xff0c;希望可以让你更高效的学习。深度学习与图网络最…

python列表功能默写_初识 Python 作业及默写

1、简述变量量命名规范 2、name input(“>>>”) name变量是什么数据类型? 3.if条件语句的基本结构? 4.用print打印出下面内容: 文能提笔安天下, 武能上马定乾坤. 心存谋略何人胜, 古今英雄唯是君. 5.利用if语句写出猜⼤小的游戏: 设定一个理想数字比如:66&#xff…

关于淘宝的无耻!

前两天在TAOBAO上以个人名义买了两个CN域名,买了之后才知道个人是无权购买CN域名的,这也就是说个人够买的CN域名是没有任何保障的!在购买前,买家没有给出提醒,很明显,买家存在欺诈行为,所以我向TAOBAO发起投诉.下面是投诉处理结果:据淘宝游戏频道免责声明&#xff0c;如买家通过…

整顿职场,从 ROC 曲线开始

文 | 天于刀刀大家好&#xff0c;我是刀刀。这周有个哥们在组会上被领导刁难了一波&#xff0c;来群里吐槽&#xff0c;最后意外地在大神的指导下又复习了一下 precision recall rate &#xff08;PRR&#xff09; 和 ROC 曲线的知识点&#xff1a;后面聊天的画风就彻底转向吐槽…