华为机试真题-Java
文章平均质量分 61
华为机试有三道题目,第一道和第二道属于简单或中等题,分值为100分,第三道为中等或困难题,分值为200分。总分为400分,150分钟考试时间。之前通过为150分,现在好像分数提高了,大家不要太大意,一定要多刷题,争取拿高分,毕竟分数越高评级越高,工资也就越高。OD的工资待遇还是很可观的15K-30K
forest_long
这个作者很懒,什么都没留下…
展开
-
【华为机试真题Java】从入门到入职-真题列表导读
本专栏有100+道题(持续更新中),都是往期的HW机试真题,根据过往同学的经验基本都会考到原题。大家有什么不懂的都可以留言。华为机试有三道题目,第一道和第二道属于简单或中等题,分值为100分,第三道为中等或困难题,分值为200分。总分为400分,150分钟考试时间。之前通过为150分,现在好像分数提高了,大家不要太大意,一定要多刷题,争取拿高分,毕竟分数越高评级越高,工资也就越高。OD的工资待遇还是很可观的15K-30K*14-16,希望大家努力(肺腑之言)原创 2022-10-19 00:51:30 · 1833 阅读 · 0 评论 -
【华为机试真题Java】用户调度问题
假设当前有n个待串行调度用户,每个用户可以使用A/B/C三种不同的调度策略,不同的策略会消耗不同的系统资源。3、每个用户依次选择当前所能选择的对系统资源消耗最少的策略(局部最优),如果有多个满足要求的策略,选最后一个。1号用户使用B策略,2号用户使用C策略,3号用户使用B策略。1、相邻的用户不能使用相同的调度策略,例如,第1个用户使用了A策略,则第2个用户只能使用B或者C策略。在通信系统中,一个常见的问题是对用户进行不同策略的调度,会得到不同的系统消耗和性能。最优策略组合下的总的系统资源消耗数。原创 2022-10-15 22:57:40 · 1635 阅读 · 0 评论 -
【华为机试真题Java】英文输入法
从用户已输入英文语句”I love you”中提炼出“I”、“love”、“you”三个单词,接下来用户输入“He”,从已输入信息中无法联想到任何符合要求的单词,因此输出用户输入的单词前缀。依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号。缩略形式如”don’t”,判定为两个单词,”don”和”t”主管期望你来实现英文输入法单词联想功能。原创 2022-10-15 22:54:34 · 1246 阅读 · 0 评论 -
【华为机试真题Java】密码验证合格程序
数据范围:输入的字符串长度满足 1 \le n \le 100 \1≤n≤100。3.不能有长度大于2的不含公共元素的子串重复 (注:其他符号不含空格或换行)2.包括大小写字母.数字.其它符号,以上四种至少三种。如果符合要求输出:OK,否则输出NG。原创 2022-09-23 20:14:23 · 1152 阅读 · 0 评论 -
【华为机试真题Java】路口最短时间问题
三道中等难度题目,总分400分,前两道均为100分,后一道为200分,每道题的时间限制为1S(常规算法解答不出,可以用暴力方法)机考分数是按照题目用例的通过数量的比例算分数 (若最后一道题做不出来,可将边界情况结果等写出来 )机考时长2个半小时,若以冲刺机考最高分为目的,则做题时间分配前两道题40分钟,最后一题70分钟(平时练习可以按照40分钟的时限)机考分数线根据招聘目标院校和非目标院校有不同(不同 华为招聘部门会有差异)创作不易!如果觉得内容对你有帮助,麻烦给个三连关注支持一下我!原创 2023-12-30 16:54:37 · 499 阅读 · 0 评论 -
【华为机试真题Java】电信号方波
输入信号串中有三个信号:0 010101010110(第一个信号段) 00 01010(第二个信号段) 010(第三个信号段)第一个信号虽然有交替的方波信号段,但出现了11部分的连续高位,不算完全连续交替方波,在剩下的连续方波信号串中01010最长。4) 同一个信号中可以有连续的高位,如01110101011110001010,前14位是一个具有连续高位的信号。1) 一个完整的信号一定以0开始然后以0结尾,即010是一个完整信号,但101,1010,0101不是。注:输入总是合法的,不用考虑异常情况。原创 2022-10-19 00:43:53 · 430 阅读 · 0 评论 -
【华为机试真题Java】乱序整数序列两数之和绝对值最小
给定一个随机的整数(可能存在正整数和负整数)数组 nums ,请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值,并返回这个两个数(按从小到大返回)以及绝对值。一个通过空格分割的有序整数序列字符串,最多1000个整数,且整数数值范围是 [-65535, 65535]。因为 |nums[0] + nums[2]| = |-3 + 5| = 2 最小,所以返回 -3 5 2。每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。两数之和绝对值最小值。原创 2022-10-19 00:43:59 · 559 阅读 · 0 评论 -
【华为机试真题Java】We Are A Team
1、c==1时,根据a和b是否在一个团队中输出一行字符串,在一个团队中输出“we are a team”,不在一个团队中输出“we are not a team”。3、c1代表需要判定a和b的关系,如果a和b是一个团队,输出一行“we are a team”,如果不是,输出一行“we are not a team”。2、随后的m行,每行一条消息,消息格式为:a b c (1原创 2022-10-19 00:44:01 · 886 阅读 · 0 评论 -
【华为机试真题Java】求满足条件的最长子串的长度
给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求:1、 只包含1个字母(a~z, A~Z),其余必须是数字;2、 字母可以在子串中的任意位置;如果找不到满足要求的子串,如全是字母或全是数字,则返回-1。原创 2022-10-19 00:44:03 · 769 阅读 · 0 评论 -
【华为机试真题Java】最长广播响应
当指定一个结点向其他结点进行广播,所有被广播结点收到消息后都会在原路径上回复一条响应消息,请计算发送结点至少需要等待几个时间单位才能收到所有被广播结点的响应消息。网络中的结点互联互通,且结点之间的消息传递有时延,相连结点的时延均为一个时间单位。2到5的最小时延是2个时间单位,而2到其他结点的最小时延是1个时间单位,所以2收到所有结点的最大响应时间为2*2=4。输入的第一行为两个正整数,分别表示网络结点的个数N,以及时延列表的长度I;最后一行的输入为一个正整数,表示指定的广播结点序号;原创 2022-10-19 00:44:05 · 621 阅读 · 0 评论 -
【华为机试真题Java】迷宫问题
它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格是可以走的路。输入两个整数,分别表示二维数组的行数,列数。再输入相应的数组,其中的1表示墙壁,0表示可以走的路。数据保证有唯一解,不考虑有多解的情况,即迷宫只有一条通道。数据范围: 2≤n,m≤10 , 输入的内容只包含 0≤val≤1。左上角到右下角的最短路径,格式如样例所示。说明:注意:不能斜着走!原创 2022-10-19 00:44:06 · 652 阅读 · 0 评论 -
【华为机试真题Java】最长元音子串的长度
现给定一个字符串,请找出其中最长的元音字符子串,并返回其长度;如果找不到,则返回0。样例1解释:最长元音子串为 “uio” 或 “auu”,其长度都为3,因此输出3。定义:当一个字符串只有元音字母(aeiouAEIOU)组成,称为元音字符串。一个字符串,其长度范围:0 < length原创 2022-10-19 00:44:08 · 625 阅读 · 0 评论 -
【华为机试真题Java】最长连续子序列
有N个正整数组成的一个序列。给定整数sum,求长度最长的连续子序列,使他们的和等于sum,返回此子序列的长度,如果没有满足要求的序列,返回-1。原创 2022-10-18 22:29:48 · 359 阅读 · 0 评论 -
【华为机试真题Java】最远足迹
某探险队负责对地下洞穴进行探险。探险队成员在进行探险任务时,随身携带的记录器会不定期地记录自身的坐标,但在记录的间隙中也会记录其他数据。探索工作结束后,探险队需要获取到某成员在探险过程中相对于探险队总部的最远的足迹位置。仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0原创 2022-10-18 22:27:37 · 461 阅读 · 0 评论 -
【华为机试真题Java】最大括号深度
现有一字符串仅由 ‘(’,’)’,’{’,’}’,’[’,’]'六种括号组成。一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]'的字符串。输出括号的最大嵌套深度,若字符串无效则输出0。②存在未按正确顺序(先左后右)闭合的括号。无效字符串,有两种类型的左右括号数量不相等。无效字符串,存在未按正确顺序闭合的括号。无效字符串,存在未按正确顺序闭合的括号。①任一类型的左右括号数量不相等;0≤字符串长度≤100000。有效字符串,最大嵌套深度为1。有效字符串,最大嵌套深度为3。一个整数,最大的括号深度。原创 2022-10-18 22:25:41 · 422 阅读 · 0 评论 -
【华为机试真题Java】最大矩阵和
输入的第一行包含2个整数n, m(1原创 2022-10-18 22:23:22 · 268 阅读 · 0 评论 -
【华为机试真题Java】最大花费金额
双十一众多商品进行打折销售,小明想购买自己心仪的一些物品,但由于受购买资金限制,所以他决定从众多心仪商品中购买三件,而且想尽可能的花完资金,现在请你设计一个程序帮助小明计算尽可能花费的最大资金数额。输入第一行为一维整型数组M,数组长度小于100,数组元素记录单个商品的价格,单个商品价格小于1000。因为输入的商品,无法组合出来满足三件之和小于26.故返回-1。输入第二行为购买资金的额度R,R小于100000。注意:如果不存在满足上述条件的商品,请返回-1。输入格式是正确的,无需考虑格式错误的情况。原创 2022-10-18 22:21:16 · 371 阅读 · 0 评论 -
【华为机试真题Java】最大N个数与最小N个数的和
给定一个数组,编写一个函数来计算它的最大N个数与最小N个数的和。你需要对数组进行去重。最大2个数[100,95],最小2个数[83,64], 输出为342。*最大N个数与最小N个数不能有重叠,如有重叠,输入非法返回-1。最大2个数[4,3],最小2个数[3,2], 有重叠输出为-1。第三行输入N,N表达需要计算的最大、最小N个数。*数组中数字范围[0, 1000]输出最大N个数与最小N个数的和。第一行输入M, M标识数组大小。第二行输入M个数,标识数组内容。原创 2022-10-18 22:18:55 · 508 阅读 · 0 评论 -
【华为机试真题Java】组成最大数
小组中每位都有一张卡片,卡片上是6位内的正整数,将卡片连起来可以组成多种数字,计算组成的最大数字。原创 2022-10-18 09:17:28 · 267 阅读 · 0 评论 -
【华为机试真题Java】字符统计及重排
给出一个仅包含字母的字符串,不包含空格,统计字符串中各个字母(区分大小写)出现的次数,并按照字母出现次数从大到小的顺序输出各个字母及其出现次数。如果次数相同,按照自然顺序进行排序,且小写字母在大写字母之前。原创 2022-10-18 09:17:30 · 445 阅读 · 0 评论 -
【华为机试真题Java】字符串序列判定
输入两个字符串S和L,都只包含英文小写字母。S长度原创 2022-10-18 09:17:32 · 319 阅读 · 0 评论 -
【华为机试真题Java】字符串统计
给定两个字符集合,一个为全量字符集,一个为已占用字符集。已占用的字符集中的字符不能再使用,要求输出剩余可用字符集。2、已占用字符集中的字符一定是全量字符集中的字符。@前的为全量字符集,@后的字为已占用字符集。3、每个字符都表示为字符加数字的形式,用英文冒号分隔,比如a:1,表示1个a字符。5、如果一个字符都没被占用,@标识仍然存在,例如a:3,b:5,c:2@由于已占用字符不能再使用,因此,剩余可用字符为2个a,3个b,2个c。全量字符集为3个a,5个b,2个c。已占用字符集为1个a,2个b。原创 2022-10-18 09:17:33 · 723 阅读 · 0 评论 -
【华为机试真题Java】字符串筛选排序
输入一个由n个大小写字母组成的字符串,按照Ascii码值从小到大的排序规则,查找字符串中第k个最小ascii码值的字母(k>=1),输出该字母所在字符串的位置索引(字符串的第一个字符位置索引为0)。k如果大于字符串长度,则输出最大ascii值的字母所在字符串的位置索引,如果有重复的字母,则输出字母的最小位置索引。原创 2022-10-16 11:37:07 · 394 阅读 · 0 评论 -
【华为机试真题Java】字符串加密
给你一串未加密的字符串str,通过对字符串的每一个字母进行改变来实现加密,加密方式是在每一个字母str[i]偏移特定数组元素a[i]的量,数组a前三位已经赋值:a[0]=1,a[1]=2,a[2]=4。当i>=3时,数组元素a[i]=a[i-1]+a[i-2]+a[i-3],例如:原文 abcde 加密后 bdgkr,其中偏移量分别是1,2,4,7,13。原创 2022-10-16 11:33:21 · 276 阅读 · 0 评论 -
【华为机试真题Java】字符串分割
给定一个非空字符串S,其被N个‘-’分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用‘-’分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的所有小写字母转换为大写字母;大小写字母的数量相等时,不做转换。原创 2022-10-16 11:39:51 · 255 阅读 · 0 评论 -
【华为机试真题Java】字符串变换最小字符串
给定一个字符串s,最多只能进行一次变换,返回变换后能得到的最小字符串(按照字典序进行比较)。变换规则:交换字符串中任意两个不同位置的字符。输入描述一串小写字母组成的字符串s输出描述按照要求进行变换得到的最小字符串。原创 2022-10-16 11:28:46 · 372 阅读 · 0 评论 -
【华为机试真题Java】执行时长
为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务,假设GPU最多一次执行n个任务,一次执行耗时1秒,在保证GPU不空闲情况下,最少需要多长时间执行完成。第一个参数为GPU一次最多执行的任务个数,取值范围[1, 10000]第二个参数为任务数组长度,取值范围[1, 10000]第三个参数为任务数组,数字范围[1, 10000]一次最多执行3个任务,最少耗时6s。一次最多执行4个任务,最少耗时5s。原创 2022-10-16 09:29:47 · 334 阅读 · 0 评论 -
【华为机试真题Java】整型数组按个位值排序
给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。给定一个非空数组,其元素数据类型为32位有符号整数,数组长度[1, 1000]当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。原创 2022-10-16 09:29:49 · 797 阅读 · 0 评论 -
【华为机试真题Java】整数对最小和
给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值注意:两对元素如果对应于array1、array2中的两个下标均相同,则视为同一对元素。原创 2022-10-16 09:30:11 · 347 阅读 · 0 评论 -
【华为机试真题Java】整数编码
第一个字节最高位置1,剩余的7位存储数字1000的第一个低7位(110 1000),所以第一个字节的二进制为1110 1000,即E8;第二个字节最高位置0,剩余的7位存储数字1000的第二个低7位(000 0111),所以第一个字节的二进制为0000 0111,即07;2、字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节,置0表示当前字节为最后一个字节。字节的最高位置0,剩余7位存储数字100的低7位(110 0100),所以编码后的输出为64。输出一个字符串,表示整数编码的16进制码流。原创 2022-10-16 09:29:55 · 363 阅读 · 0 评论 -
【华为机试真题Java】找终点
第一步: 第一个可选步长选择2,从第一个成员7开始走2步,到达9;给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。2、从第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少, 如果目标不可达返回-1,只输出最少的步骤数量。1、第一步必须从第一元素开始,且1原创 2022-10-16 09:30:01 · 416 阅读 · 0 评论 -
【华为机试真题Java】找朋友
请重新生成一个列表,对应位置的输出是每个小朋友的好朋友位置,如果没有看到好朋友,请在该位置用0代替。第一个小朋友身高100,站在队尾位置,向队首看,没有比他身高高的小朋友,所以输出第一个值为0。第i个小朋友可以看到的第一个比自己身高更高的小朋友j,那么j是i的好朋友(要求j > i)。在学校中,N个小朋友站成一队, 第i个小朋友的身高为height[i],第二行输入N个小朋友的身高height[i],都是整数。124的好朋友是2位置上的125。输出N个小朋友的好朋友的位置。原创 2022-10-16 09:29:58 · 326 阅读 · 0 评论 -
【华为机试真题Java】找出符合要求的字符串子串
从字符串2中找出字符串1的字符,去除重复的字符,并且按照ASCII值从小到大排序,得到输出的结果为abc。给定两个字符串,从字符串2中找出字符串1中的所有字符,去重并按照ASCII值从小到大排序。输入字符串1 为给定字符串bach,输入字符串2 bbaaccedfg。字符范围满足ASCII编码要求,按照ASCII的值由小到大排序。字符串1中的字符h在字符串2中找不到不输出。输入字符串2:长度不超过1000000。输入字符串1:长度不超过1024。原创 2022-10-15 23:05:09 · 379 阅读 · 0 评论 -
【华为机试真题Java】找车位
停车场有一横排车位,0代表没有停车,1代表有车。至少停了一辆车在车位上,也至少有一个空位没有停车。为了防剐蹭,需为停车人找到一个车位,使得距停车人的车最近的车辆的距离是最大的,返回此时的最大距离。输入描述1、一个用半角逗号分割的停车标识字符串,停车标识为0或1,0为空位,1为已停车。2、停车位最多100个。输出描述输出一个整数记录最大距离。原创 2022-10-15 23:02:52 · 333 阅读 · 0 评论 -
【华为机试真题Java】用连续自然数之和来表达整数
整数 9 有三种表示方法,第1个表达式只有1个自然数,最先输出,第2个表达式有2个自然数,第2次序输出,第3个表达式有3个自然数,最后输出。每个表达式中的自然数都是按递增次序输出的。2.每个表达式中按自然数递增的顺序输出,具体的格式参见样例。在每个测试数据结束时,输出一行”Result:X”,其中X是最终的表达式个数。给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。该整数的所有表达式和表达式的个数。1.自然数个数最少的表达式优先输出。数字与符号之间无空格。原创 2022-10-15 22:59:55 · 501 阅读 · 0 评论 -
【华为机试真题Java】一种字符串压缩表示的解压
有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串,若输入合法则输出解压缩后的字符串,否则输出字符串“!error”来报告错误。原创 2022-10-15 22:50:41 · 375 阅读 · 0 评论 -
【华为机试真题Java】寻找相同子串
给你两个字符串 t 和 p ,要求从 t 中找到一个和 p 相同的连续子串,并输出该字串第一个字符的下标。输入描述:输入文件包括两行,分别表示字符串 t 和 p ,保证 t 的长度不小于 p ,且 t 的长度不超过1000000,p 的长度不超过10000。输出描述:如果能从 t 中找到一个和 p 相等的连续子串,则输出该子串第一个字符在t中的下标(下标从左到右依次为1,2,3,…);如果不能则输出”No”;如果含有多个这样的子串,则输出第一个字符下标最小的。原创 2022-10-15 22:46:56 · 293 阅读 · 0 评论 -
【华为机试真题Java】寻找身高相近的小朋友
小明今年升学到小学一年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请帮他实现排序。原创 2022-10-15 22:44:31 · 407 阅读 · 0 评论 -
【华为机试真题Java】相对开音节
相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e,常见的单词有bike、cake等。给定一个字符串,以空格为分隔符,反转每个单词中的字母,若单词中包含如数字等其他非字母时不进行反转。反转后计算其中含有相对开音节结构的子串个数(连续的子串中部分字符可以重复)。原创 2022-10-15 22:32:26 · 299 阅读 · 0 评论 -
【华为机试真题Java】消消乐游戏
游戏规则:输入一个只包含英文字母的字符串,字符串中的两个字母如果相邻且相同,就可以消除。在字符串上反复执行消除的动作,直到无法继续消除为止,此时游戏结束。输出最终得到的字符串长度。原创 2022-10-15 22:35:26 · 611 阅读 · 0 评论