华为机考题
文章平均质量分 63
程序员杨弋
在职算法工程师,永怀学徒之心。
展开
-
华为机考题:高矮个子排队
例如,在示范小队{5,3,1,2,3}中,{5, 1, 3, 2, 3}是排序结果。{5, 2, 3, 1, 3} 虽然也满足“高”“矮”“高”“矮”顺序排列,但小朋友们的移动距离大,所以不是最优结果。我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高或者相等;现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。第二位小朋友移到第三位小朋友后面,移动距离为1,若移动到第四位小朋友后面,移动距离为2;原创 2023-08-23 15:25:11 · 122 阅读 · 0 评论 -
华为机考题:工号不够用了怎么办
继承历史传统,新的工号系统由小写英文字母(a-z)和数字(0-9)两部分构成。新工号由一段英文字母开头,之后跟随一段数字,比如"aaahw0001",“a12345”,“abcd1”,“a00”。注意新工号不能全为字母或者数字,允许数字部分有前导0或者全为0。但是过长的工号会增加同事们的记忆成本,现在给出新工号至少需要分配的人数X和新工号中字母的长度Y,求新工号中数字的最短长度Z。3020年,空间通信集团的员工人数突破20亿人,即将遇到现有工号不够用的窘境。输出新工号中数字的最短长度Z。原创 2023-08-23 15:25:47 · 39 阅读 · 0 评论 -
华为机考题:喊7的次数重排
编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当将要喊出来的数字是7的倍数或者数字本身含有7的话,不能把这个数字直接喊出来,而是要喊"过"。现给定一个长度为N的数组,存储了打乱顺序的每个人喊"过"的次数,请把它还原成正确的顺序,即数组的第i个元素存储编号i的人喊"过"的次数。一共有三次喊"过",发生在7 14 17,按顺序,编号为2的人会遇到7 17,编号为4的人会遇到14,故输出0 2 0 1 0。输出为一行,为顺序正确的喊"过"的次数,也由空格分隔。//1、是不是7的倍数。原创 2023-08-23 15:27:27 · 153 阅读 · 0 评论 -
华为机考题:分糖果
解释:(1)15+1=16;(2)16/2=8;当糖果不能平均分配时,小明可以选择从糖果盒中(假设盒中糖果足够)取出一个糖果或放回一个糖果。小明最少需要多少次(取出、放回和平均分配均记一次),能将手中糖果分至只剩一颗。小明从糖果盒中随意抓一把糖果,每次小明会取出一半的糖果分给同学们。原创 2023-08-23 15:24:29 · 92 阅读 · 0 评论 -
华为机考题:勾股数元组
如果3个正整数(a,b,c)满足a2 + b2 = c2的关系,则称(a,b,c)为勾股数(著名的勾三股四弦五),为了探索勾股数的规律,我们定义如果勾股数(a,b,c)之间两两互质(即a与b,a与c,b与c之间均互质,没有公约数),则其为勾股数元祖(例如(3,4,5)是勾股数元祖,(6,8,10)则不是勾股数元祖)。[1, 20]范围内勾股数有:(3 4 5),(5 12 13),(6 8 10),(8 15 17),(9 12 15),(12 16 20);给定范围中找不到勾股数元祖,输出”NA”。原创 2023-08-23 15:26:31 · 84 阅读 · 0 评论 -
华为机考题:非严格递增连续数字序列
输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。幼儿园两个班的小朋友在排队时混在了一起,每位小朋友都知道自己是否与前面一位小朋友是否同班,请你帮忙把同班的小朋友找出来。比如:6/N 2/Y 3/N 4/Y,表示共4位小朋友,2和6同班,3和2不同班,4和3同班。小朋友的编号为整数,与前一位小朋友同班用Y表示,不同班用N表示。//0号是1班 剩下是2班。3的同班标记为N,因此和1、2不同班。2的同班标记为Y,因此和1同班。原创 2023-08-23 15:23:49 · 68 阅读 · 0 评论 -
华为机考题:【N进制减法】
第三个参数为减数字符串。有效的字符包括09以及小写字母az,字符串有效字符个数最大为100个字符,另外还有结尾的\0。需要对输入的两个字符串按照给定的N进制进行减法操作,输出正负符号和表示结果的字符串。按8进制,检查到减数不符合非0前导的要求,返回结果为-1,没有其他结果内容。其一为减法计算的结果,-1表示出错,0表示结果为整数,1表示结果为负数。按二进制计算 11 -1 ,计算正常,0表示符号为正数,结果为10。输入的被减数和减数,除了单独的0以外,不能是以0开头的字符串。其二为表示结果的字符串。原创 2023-08-16 10:32:17 · 57 阅读 · 0 评论 -
华为机考题: 【5键键盘的输出】
有一个特殊的5键键盘,上面有a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。ctrl-x将当前选择的字母复制到剪贴板,并清空选择的字母;说明 输入两个a后ctrl-a选择这两个a,再输入a时选择的两个a先被清空,所以此时屏幕只有一个a,后续的ctrl-a,ctrl-c选择并复制了这一个a,最后两个ctrl-v在屏幕上输出两个a,故屏幕上字母的长度为2(第一个ctrl-v清空了屏幕上的那个a)4当有字母被选择时,a和ctrl-v这两个有输出功能的键会先清空选择的字母,再进行输出。原创 2023-08-16 10:30:29 · 116 阅读 · 0 评论