
《最新华为OD机试题目带答案解析》
文章平均质量分 54
最新华为OD机试题目带答案解析,语言包括C、C++、Python、Java、JavaScript等。订阅专栏,获取专栏内所有文章阅读权限,持续同步更新!
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
刘一哥GIS
多年研究地图学、地理信息系统、遥感、摄影测量和GPS等应用,精通ArcGIS等软件的应用,精通多门编程语言,擅长GIS二次开发和数据库系统开发,具有丰富的行业经验,致力于无人机测绘、地信、数字城市、资源、环境、生态、国土空间规划、空间数字建模、数字城市等领域深度应用。
展开
-
【华为OD机试C++】求最小公倍数
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。数据范围:1 \le a,b \le 100000 \1≤a,b≤100000。输出A和B的最小公倍数。输入两个正整数A和B。原创 2024-05-07 08:46:25 · 294 阅读 · 1 评论 -
【华为OD机试C++】求解立方根
数据范围:|val| \le 20 \∣val∣≤20。待求解参数,为double类型(一个实数)计算一个浮点数的立方根,不使用库函数。原创 2024-05-06 21:43:40 · 101 阅读 · 0 评论 -
【华为OD机试C++】字符逆序
数据范围:1 \le len(str) \le 10000\1≤len(str)≤10000。将一个字符串str的内容颠倒过来,并输出。输入一个字符串,可以有空格。原创 2024-04-23 09:02:34 · 179 阅读 · 1 评论 -
【华为OD机试C++】字符统计
输入一个只包含小写英文字母和数字的字符串,按照不同字符统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASCII码由小到大排序输出。数据范围:字符串长度满足 1 \le len(str) \le 1000 \1≤len(str)≤1000。样例里,c和d出现3次,a出现2次,但c的ASCII码比d小,所以先输出c,再输出d,最后输出a.一个字符串,为不同字母出现次数的降序表示。若出现次数相同,则按ASCII码的升序输出。一个只包含小写英文字母和数字的字符串。原创 2024-04-21 21:37:43 · 71 阅读 · 0 评论 -
【华为OD机试C++】统计大写字母个数
数据范围:字符串长度:1\le |s|\le 250\1≤∣s∣≤250。进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(n)\O(n)找出给定字符串中大写字符(即’A’-‘Z’)的个数。对于每组样例,输入一行,代表待统计的字符串。输出一个整数,代表字符串中大写字母的个数。字符串中可能包含空格或其他字符。原创 2024-04-19 13:01:24 · 100 阅读 · 0 评论 -
【华为OD机试C++】计算日期到天数转换
进阶:时间复杂度:O(n)\O(n) ,空间复杂度:O(1)\O(1)输入一行,每行空格分割,分别是年,月,日。根据输入的日期,计算是这一年的第几天。保证年份为4位数且日期合法。输出是这一年的第几天。原创 2024-04-18 21:00:03 · 120 阅读 · 0 评论 -
【华为OD机试C++】完全数计算
例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。数据范围: 1 \le n \le 5 \times 10^{5} \1≤n≤5×10。完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。输入n,请输出n以内(含n)完全数的个数。输出不超过n的完全数的个数。原创 2024-04-18 20:57:43 · 87 阅读 · 0 评论 -
【华为OD机试C++】杨辉三角的变形
以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数、左上角数和右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3,输入2则输出-1。数据范围: 1 \le n \le 10^9 \1≤n≤10。原创 2024-04-16 11:12:20 · 137 阅读 · 0 评论 -
【华为OD机试C++】统计字符
数据范围:输入的字符串长度满足 1 \le n \le 1000 \1≤n≤1000。输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。统计其中英文字符,空格字符,数字字符,其他字符的个数。输入一行字符串,可以有空格。原创 2024-04-15 23:22:29 · 157 阅读 · 0 评论 -
【华为OD机试C++】统计每个月兔子的总数
有一种兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子。例子:假设一只兔子第3个月出生,那么它第5个月开始会每个月生一只兔子。一月的时候有一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?数据范围:输入满足 1 \le n \le 31 \1≤n≤31。输入一个int型整数表示第n个月。原创 2024-04-15 23:19:43 · 176 阅读 · 0 评论 -
【华为OD机试C++】蛇形矩阵
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入正整数N(N不大于100)输出一个N行的蛇形矩阵。原创 2024-04-12 16:20:24 · 181 阅读 · 0 评论 -
【华为OD机试C++】图片整理
Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过代码解决。数据范围:每组输入的字符串长度满足 1 \le n \le 1000 \1≤n≤1000。Lily使用的图片使用字符"A"到"Z"、“a"到"z”、"0"到"9"表示。一行,一个字符串,字符串中的每个字符表示一张Lily使用的图片。Lily的所有图片按照从小到大的顺序输出。原创 2024-04-10 21:37:53 · 167 阅读 · 0 评论 -
【华为OD机试C++】单词倒排
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;数据范围:字符串长度满足 1 \le n \le 10000 \1≤n≤10000。1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词间隔符;对字符串中的所有单词进行倒排。4、每个单词最长20个字母;输入一行,表示用来倒排的句子。原创 2024-04-09 08:24:06 · 124 阅读 · 0 评论 -
【华为OD机试C++】删除字符串中出现次数最少的字符
实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。数据范围:输入的字符串长度满足 1 \le n \le 20 \1≤n≤20 ,保证输入的字符串中仅出现小写字母。字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。删除字符串中出现次数最少的字符后的字符串。原创 2024-04-08 13:00:51 · 174 阅读 · 0 评论 -
【华为OD机试C++】简单密码设置
九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0,把密码中出现的小写字母都变成九键键盘对应的数字,如:a 变成 2,x 变成 9.而密码中出现的大写字母则变成小写之后往后移一位,如:X ,先变成小写,再往后移一位,变成了 y ,例外:Z 往后移是 a。数据范围: 输入的字符串长度满足 1 \le n \le 100 \1≤n≤100。输入一组密码,长度不超过100个字符。原创 2024-04-07 17:07:55 · 181 阅读 · 0 评论 -
【华为OD机试C++】求int型正整数在内存中存储时1的个数
输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。数据范围:保证在 32 位整型数字范围内。这个数转换成2进制后,输出1的个数。输入一个整数(int类型)原创 2024-04-02 22:50:10 · 130 阅读 · 0 评论 -
【华为OD机试C++】字符串排序
数据范围: 1 \le n \le 1000 \1≤n≤1000 ,字符串长度满足 1 \le len \le 100 \1≤len≤100。输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。给定 n 个字符串,请对 n 个字符串按照字典序排列。数据输出n行,输出结果为按照字典序排列的字符串。原创 2024-04-02 22:47:54 · 128 阅读 · 0 评论 -
【华为OD机试C++】句子逆序
将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”数据范围:输入的字符串长度满足 1 \le n \le 1000 \1≤n≤1000。所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符。输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。原创 2024-04-01 12:30:12 · 156 阅读 · 0 评论 -
【华为OD机试C++】字符串反转
接受一个只包含小写字母的字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)输入一行,为一个只包含小写字母的字符串。输出该字符串反转后的字符串。原创 2024-04-01 12:27:04 · 89 阅读 · 0 评论 -
【华为OD机试C++】数字颠倒
程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001。数据范围: 0 \le n \le 2^{30}-1 \0≤n≤2。输入一个整数,将这个整数以字符串的形式逆序输出。将这个整数以字符串的形式逆序输出。原创 2024-04-01 12:24:07 · 87 阅读 · 0 评论 -
【华为OD机试C++】字符个数统计
编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3。输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。数据范围: 1 \le n \le 500 \1≤n≤500。输入一行没有空格的字符串。原创 2024-04-01 12:22:04 · 87 阅读 · 0 评论 -
【华为OD机试C++】提取不重复的整数
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。数据范围: 1 \le n \le 10^{8} \1≤n≤10。按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。保证输入的整数最后一位不是 0。输入一个int型整数。原创 2024-04-01 03:00:00 · 295 阅读 · 0 评论 -
【华为OD机试C++】合并表记录
数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。接下来n行每行输入成对的index和value值,以空格隔开。先输入键值对的个数n(1原创 2024-04-01 02:45:00 · 237 阅读 · 0 评论 -
【华为OD机试C++】取近似值
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。数据范围:保证输入的数字在 32 位浮点数范围内。0.5>=0.5,所以5.5需要向上取整为6。0.499原创 2024-04-01 02:30:00 · 85 阅读 · 0 评论 -
【华为OD机试C++】质数因子
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )数据范围: 1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×10。按照从小到大的顺序输出它的所有质数的因子,以空格隔开。原创 2024-03-31 14:08:57 · 124 阅读 · 0 评论 -
【华为OD机试C++】进制转换
数据范围:保证结果在 1 \le n \le 2^{31}-1 \1≤n≤2。写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输出该数值的十进制字符串。不同组的测试用例用\n隔开。输入一个十六进制的数值字符串。原创 2024-03-31 14:07:13 · 123 阅读 · 0 评论 -
【华为OD机试C++】字符串分割
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。连续输入字符串(每个字符串长度小于等于100)依次输出所有分割后的长度为8的新字符串。原创 2024-03-31 11:04:13 · 97 阅读 · 0 评论 -
【华为OD机试C++】生成随机数
明明生成了NN个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。数据范围: 1 \le n \le 1000 \1≤n≤1000 ,输入的数字大小满足 1 \le val \le 500 \1≤val≤500。第一行先输入随机整数的个数 N。接下来的 N 行每行输入一个整数,代表明明生成的随机数。具体格式可以参考下面的"示例"。输出多行,表示输入数据处理后的结果。原创 2024-03-31 10:58:19 · 380 阅读 · 0 评论 -
【华为OD机试C++】计算某字符出现次数
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。数据范围: 1 \le n \le 1000 \1≤n≤1000。输出输入字符串中含有该字符的个数。(不区分大小写字母)原创 2024-03-31 10:55:24 · 131 阅读 · 0 评论 -
【华为OD机试C++】计算字符串最后一个单词的长度
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入一行,代表要计算的字符串,非空,长度小于5000。输出一个整数,表示输入字符串最后一个单词的长度。原创 2024-03-31 10:50:56 · 118 阅读 · 0 评论