言程序plus
全栈开发工程师,7年大型企业工作经验。优快云、阿里云、华为云等平台优质创作者;精通鸿蒙开发、前端、小程序、移动端应用开发、智慧大屏、gis、前后台管理系统等开发,数据挖掘分析运维。一直在探索AIGC,博客热衷分享实用项目和技术干货。技术栈:arkts\js\vue\react\node.js\three.js\cesuim.js\gis\uniapp\微信小程序\mysql\pgsql\java\python\opencv 。【诗词雅集】一款收录了30万首古诗词的微信小程序,旨在传承诗词经典,邂逅诗与远方。
展开
-
用Java解决华为OD机试考题,真的高效,真的强,来吧,清单奉上,祝你上岸
华为 OD 机试题最新(Java)清单(机试题库还在逐日更新)原创 2023-03-31 15:27:53 · 1379 阅读 · 2 评论 -
【华为OD机试真题JAVA】快递装载问题
一辆运送快递的货车。运送的快递均放在大小不等的长方形快递盒中。货车的载重量为20 最多只能放3种快递 5,10,2因此输出3。为了能够装载更多的快递 同时不能让货车超载。第一行输入 每个快递重量 用逗号分隔。需要计算最多能装多少个快递。第二行 输入 货车的载重量。快递数量最多1000个。货车载重量50000。如5,10,2,11。输出最多能装多少个快递。原创 2023-03-20 17:56:57 · 992 阅读 · 8 评论 -
【华为OD机试真题JAVA】英文输入法单词联想功能
中提炼出"I","love","you"三个单词。"don't" 判定为两个单词 "don"和 "t"首行输入一段由英文单词word和标点构成的语句str。用户已输入单词语句"I love you",从已经输入信息中无法联想到符合要求的单词。从已输入的英文语句中联想出用户想输入的单词。输出符合要求的单词序列或单词前缀。接下来用户输入"He" ,所以输出用户输入的单词前缀。按字典序输出联想到的单词序列。输出的单词序列不能有重复单词。请输出用户输入的单词前缀。英文单词联想时区分大小写。依据用户输入的单词前缀。原创 2023-03-29 14:30:12 · 636 阅读 · 1 评论 -
【华为OD机试真题JAVA】最大N个数和最小N个数的和问题
最大2个数[100 95] 最小2个数[83 64]第三行输入N表示需要计算的最大最小N的个数。最大两个数是[4 3]最小2个数是[3 2]来计算他的最大N个数和最小N个数的和。输出最大N个数和最小N个数的和。原创 2023-03-29 14:26:04 · 406 阅读 · 0 评论 -
【华为OD机试真题JAVA】数组元素按十进制最低位排序问题
当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位。请按照数组元素十进制最低位从小到大进行排序。十进制最低位相同的元素,相对位置保持不变。其元素数据类型为32位有符号整数。数组长度为[1,1000]给定一个非空数组(列表)给定一个非空数组(列表)起元素数据类型为整型。原创 2023-03-29 14:23:02 · 369 阅读 · 0 评论 -
【华为OD机试真题JAVA】黑板报上色问题
第二行有N个int型数,保证输入数据在[1,100]范围中。老师要求同种颜色的所有数都可以被这个颜色中最小的那个数整除。现在帮小朋友们算算最少需要多少种颜色,给这N个数进行上色。3与9涂另一种颜色,9能被3整除。其中 1原创 2023-03-28 13:55:53 · 475 阅读 · 1 评论 -
【华为OD机试真题JAVA】字符串排序问题
规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。编写一个程序,将输入字符串中的字符按如下规则排序。规则 3 :非英文字母的其它字符保持原来的位置。数据范围:输入的字符串长度满足 1≤n≤1000。如,输入: Type 输出: epTy。如,输入: BabA 输出: aABb。原创 2023-03-28 13:40:59 · 354 阅读 · 0 评论 -
【华为OD机试真题JAVA】所有整数的最小和问题
输入字符串s输出s中包含所有整数的最小和, 说明:1字符串s只包含a~z,A~Z,+,-,2.合法的整数包括正整数,一个或者多个0-9组成,如:0,2,3,002,1023.负整数,负号开头,数字部分由一个或者多个0-9组成,如-2,-012,-23,-00023。2.合法的整数包括正整数,一个或者多个0-9组成,如:0,2,3,002,102。说明:1字符串s只包含a~z,A~Z,+,-,输入字符串s输出s中包含所有整数的最小和,说明:1+2-(34)=-3。原创 2023-03-21 23:35:45 · 406 阅读 · 1 评论 -
【华为OD机试真题JAVA】水仙花数问题
所谓的水仙花数是指一个n位的正整数其各位数字的n次方的和等于该数本身,例如153=1^3+5^3+3^3,153是一个三位数, 第一行输入一个整数N, 表示N位的正整数,N在3-7之间包含3,7第二行输入一个正整数M,表示需要返回第M个水仙花数原创 2023-03-21 23:30:17 · 345 阅读 · 0 评论 -
【华为OD机试真题JAVA】字符串消除问题
输出:原始字符串str只能包含大小写英文字母,字母的大小写敏感,长度不超过100,备注:输入中包含非大小写英文字母是均为异常输入,直接返回0。字符串中的俩个字母如果相邻且相同,就可以消除。游戏规则:输入一个只包含英文字母的字符串,在字符串上反复执行消除的动作,输出最终得到的字符串长度。输出游戏结束后字符串的长度。直到无法继续消除为止,原创 2023-03-21 23:24:32 · 158 阅读 · 0 评论 -
【华为OD机试真题JAVA】两个数和两数之和绝对值问题
请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值。* 一个通过空格空格分割的有序整数序列字符串,最多1000个整数,* 每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。* 因为|nums[0]+nums[2]|=|-3+5|=2最小,* 给定一个随机的整数数组(可能存在正整数和负整数)nums,* 且整数数值范围是[-65535,65535]* 并返回这两个数(按从小到大返回)以及绝对值。* 所以返回-3 5 2。两个数和两数之和绝对值。原创 2023-03-21 23:22:07 · 280 阅读 · 0 评论 -
【华为OD机试真题JAVA】最小字符串问题
给定一个字符串S,最多只能进行一次变换,返回变化后能得到的最小字符串(字典序)交换字符串中任意两个不同位置的字符。按照要求变换得到最小字符串。一串小写字母组成的字符串。原创 2023-03-21 23:17:47 · 434 阅读 · 0 评论 -
【华为OD机试真题JAVA】字符串的子串长度问题
定义当一个字符串只有元音字母(a,e,i,o,u,A,E,I,O,U)组成,一个字符串其长度 0原创 2023-03-21 23:15:22 · 193 阅读 · 0 评论 -
【华为OD机试真题JAVA】ASCII码排序问题
如果第k个最小ASCII码值的字母存在重复 则输出该字母的最小位置索引。k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引。k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引。输出字符串中第k个最小ASCII码值的字母所在字符串的位置索引。输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0)第二行输入k k必须大于0 k可以大于输入字符串的长度。在字符串中位置索引为5(0为字符串的第一个字母位置索引)查找字符串中第K个最小ASCII码值的字母(k>=1)原创 2023-03-21 23:15:22 · 249 阅读 · 0 评论 -
【华为OD机试真题JAVA】剩余可用字符集问题
因此剩余可用字符为2个a,3个b,2个c。如果某个字符已全部占用 则不需要再输出。@前为全量字符集 @后的为已占用字符集。字符集中的字符跟字符之间使用英文逗号隔开。3. 每个字符都表示为字符+数字的形式。全量字符集为三个a,5个b,2个c。注意 输出的字符顺序要跟输入的一致。因此输出a:2,b:3,c:2。不能输出b:3,a:2,c:2。已占用字符集为1个a,2个b。例如 a:3,b:5,c:2@已占用字符集中的字符不能再使用。2. 已占用字符集中的字符。比如a:1标识一个a字符。原创 2023-03-20 18:03:42 · 377 阅读 · 0 评论 -
【华为OD机试真题JAVA】绘图机器的绘图问题
一个整数表示计算得到的面积 用例保证结果范围在0到4294967295之内。接下来N行 每行两个整数表示一条绘制指令x offsetY。请计算绘制的直线和横坐标轴以及x=E的直线组成的图形面积。offsetY为正数表示正向偏移,为负数表示负向偏移。2. 期间可以通过指令在纵坐标轴方向进行偏移。绘图机器的绘图笔初始位置在原点(0,0)给定的横坐标终点值E 以及若干条绘制指令。表示有N条指令,机器运行的横坐标终点值E。机器启动后按照以下规则来进行绘制直线。用例保证横坐标x以递增排序的方式出现。原创 2023-03-20 18:04:19 · 635 阅读 · 1 评论 -
【华为OD机试真题JAVA】简易压缩算法问题
全部由小写英文字母做成的字符串,压缩后不会出现特殊字符@和大写字母A。例如字符串aaabbccccd 经过压缩变成字符串 3abb4cd。4d扩展为4个d ,故解压后的字符串为ddddff。用例保证输出的字符串长度也不会超过100字符串。若输入不合法 则输出字符串"!若判断输入为合法的经过压缩后的字符串。请您编写解压函数,根据输入的字符串,输入一行,为一个ASCII字符串。2个d不需要压缩 故输入不合法。若输入合法则输出解压缩后的字符串。判断其是否为合法压缩过的字符串。则输出压缩前的字符串。原创 2023-03-20 17:58:04 · 285 阅读 · 0 评论 -
【华为OD机试真题JAVA】满足规则的数组组合
备注: 数组长度在3~100之间 数组成员为0~65535 数组成员可以重复 但每个成员只能在结果算式中使用一次 如 数组成员为 [0,0,1,5] 0出现两次允许,但结果0=0+2*0不允许 因为算式中使用了3个0 用例保证每组数字里最多只有一组符合要求的解。如果存在满足要求的数 在同一行里依次输出 规则里 A/B/C的取值 用空格隔开 如果不存在输出0。给定一个正整数数组 检查数组中是否存在满足规则的数组组合 规则: A=B+2C。第一行输出数组的元素个数 接下来一行输出所有数组元素 用空格隔开。原创 2023-03-20 17:53:22 · 215 阅读 · 0 评论 -
【华为OD机试真题JAVA】同班的小朋友查找问题
两个班小朋友排队时混在了一起,每个小朋友都知道自己跟前一个小朋友是不是同班,请你帮忙把同班的小朋友找出来。如:6/N 2/Y 3/N 4/Y 表示一共4位小朋友 3/N 4/Y 6/N 2/Y。小朋友的编号为正数,与前面一个小朋友同班用Y表示,不同班用N表示。输出为两行,每一行记录一班小朋友的编号,编号用空格分开,且。3的同班标记位N因此和1,2不同班。输入为空格分开的小朋友编号和是否同班的标志。2和6是同班 3和2 不通班,4和三同班。4的同班标记位Y因此和3同班。说明:2的同班标记为Y因此和1同班。原创 2023-03-20 17:50:13 · 263 阅读 · 0 评论 -
【华为OD机试真题JAVA】窗口滑动产生的所有窗口和的最大值问题
有一个N个整数的数组,和一个长度为M的窗口,窗口从数组内的第一个数开始滑动,直到窗口不能滑动为止,每次滑动产生一个窗口和(窗口内所有数的和),求窗口滑动产生的所有窗口和的最大值。第三行输入正整数M,M代表窗口的大小,M原创 2023-03-20 17:45:33 · 161 阅读 · 0 评论 -
【华为OD机试真题JAVA】英文输入法单词联想功能
中提炼出"I","love","you"三个单词。* "don't" 判定为两个单词 "don"和 "t"* 用户已输入单词语句"I love you",* 从已经输入信息中无法联想到符合要求的单词。* 从已输入的英文语句中联想出用户想输入的单词。* 输出符合要求的单词序列或单词前缀。* 接下来用户输入"He" ,* 所以输出用户输入的单词前缀。* 按字典序输出联想到的单词序列。* 输出的单词序列不能有重复单词。* 请输出用户输入的单词前缀。* 依据用户输入的单词前缀。原创 2023-03-20 17:42:31 · 549 阅读 · 0 评论 -
【华为OD机试真题JAVA】磁盘容量排序问题
磁盘的容量单位常用的有MG;上述3M 12G 9M表示的容量即为 3M 12G 9M 和12M 12G相等。现在给定n块磁盘的容量,请对他们按从小到大的顺序进行稳定排序。他们之间的换算关系为 1T =1024G 1G=1024M。说明:稳定排序要求相等值保留原来位置。2原创 2023-03-20 17:41:45 · 462 阅读 · 0 评论 -
【华为OD机试真题JAVA】最小步骤数问题
一个正整数数组设为nums,最大为100个成员求从1. 第一步 必须从第一元素起 且 1原创 2023-03-17 16:56:18 · 664 阅读 · 2 评论 -
【华为OD机试真题JAVA】最优策略组合下的总的系统消耗资源数问题
假设由N个待串行用户,每个用户可以使用A/B/C三种不同的调度策略。对单的用户而言,不同的调度策略对系统资源的消耗可以规划后抽象为数值。每个用户依次选择当前所能选择的对系统资源消耗最少的策略,局部最优。某用户分别使用ABC策略的系统消耗,分别为15 8 17。在通信系统中有一个常见的问题是对用户进行不同策略的调度。接下来表示每一行表示一个用户分别使用三个策略的资源消耗。第一个用户使用A策略 则第二个用户只能使用B和C策略。规则是:相邻的用户不能使用相同的调度策略。不同的策略会消耗不同的系统资源。原创 2023-03-17 16:53:30 · 419 阅读 · 0 评论 -
【华为OD机试真题JAVA】数组按规则合并问题
则直接取出剩余部分的内容放到新的数组中继续下一行。合并规则从每个数组里按顺序取出固定长度的内容。说明 获得长度3和数组数目2。数目 0原创 2023-03-17 16:46:22 · 785 阅读 · 0 评论 -
【华为OD机试真题JAVA】 删除字符串中出现次数最少的字符
删除字符串中出现次数最少的字符如果多个字符出现次数一样则都删除。如果都被删除 则换为empty。删除字符串中出现次数最少的字符。原创 2023-03-17 16:36:18 · 278 阅读 · 0 评论 -
【华为OD机试真题JAVA】喊7游戏问题
即数组的第i个元素存储编号i的人喊“过“的次数。但是当将要喊出数字7的倍数或者含有7的话。下一个人喊得数字是上一个人喊得数字+1。结束时的k不一定是7 也可以是 8 9。按顺序编号1的人遇到7 所以100。顺序正确的喊过的次数 空格分割。可以统计每个人喊 “过"的次数。存储打乱的每个人喊”过"的次数。喊7 是一个传统的聚会游戏。编号为1的人从1开始喊数。假定N个人都没有失误。现给定一个长度n的数组。编号为2 的遇到7 17。不能喊出 而是要喊过。空格分割的喊过的次数。编号为4 的遇到14。原创 2023-03-17 16:30:29 · 601 阅读 · 0 评论 -
【华为OD机试真题JAVA】连续出现次数第k多的字母的次数求解问题
第一行 一个子串 1原创 2023-03-17 16:24:35 · 199 阅读 · 0 评论 -
【华为OD机试真题JAVA】 单词接龙问题
可用于接龙的单词,首字母必须要与前一个单词的尾字母相同;当存在多个首字母相同的单词时,取长度最长的单词;并指定其中一个单词为起始单词,进行单词接龙,现给定一组全部由小写字母组成的单词数组,如果长度也相等,则取字典序最小的单词;单词串是单词拼接而成的,中间没有空格。接下来的N行分别表示单词数组中的单词。输出一个字符串表示最终拼接的单词串。已经参与接龙的单词不能重复使用;单词个数 1 < N < 20。单个单词的长度 1 ~ 30。表示起始单词在数组中的索引k。输入的第二行为非负整数N。请输出最长的单词串。原创 2023-03-17 16:21:44 · 646 阅读 · 0 评论 -
【华为OD机试真题JAVA】装载更多的快递问题
快递数最多1000个,货车载重最大50000。* 为了能够装载更多的快递同时不能让货车超载,* 运送的快递放在大小不等的长方体快递盒中,* 需要计算最多能装多少个快递。* 注:快递的体积不受限制。* 第一行输入每个快递的重量。* 如 5,10,2,11。* 第二行输入货车的载重量。* 输出最多能装多少个快递。* 一辆运送快递的货车,原创 2023-03-17 15:01:05 · 363 阅读 · 0 评论 -
【华为OD机试真题 JAVA】数据分类问题
对一个数据a进行分类,分类方法是,此数据a(4个字节大小)的4个字节相加对一个给定值b取模,如果得到的结果小于一个给定的值c则数据a为有效类型,其类型为取模的值。按照分类方法计算:(0x01+0x01+0x01+0x01)%3=1。按分类方法计算:(0x01+0x01+0x01+0x03)%3=0。如果得到的结果大于或者等于c则数据a为无效类型。所以如果c等于2,则此a就是有效类型,其类型为1。所以如果c=2则此a就是有效类型 其类型为0。第一个数据为c,第二个数据为b,第一个数据为c,第二个数据为b,原创 2023-03-16 23:20:05 · 339 阅读 · 0 评论 -
【华为OD机试真题 JAVA】字符串按ASCII码值从小到大排列问题
从字符串2中找出字符串1中的所有字符,去重并按照ASCII码值从小到大排列,字符范围满足ASCII编码要求,输入字符串1长度不超过1024,按照ASCII由小到大排序。字符串2长度不超过100。原创 2023-03-16 23:13:16 · 497 阅读 · 0 评论 -
【华为OD机试真题 JAVA】双十一商品花费的最大资金额问题
第一行为整型数组M,数组长度小于100,数组元素记录单个商品的价格;双11众多商品进行打折销售,小明想购买一些自己心仪的商品,但由于受购买资金限制,所以他决定从众多心意商品中购买3件,现在请你设计一个程序帮助小明计算尽可能花费的最大资金额。如果不存在满足上述条件的商品请返回-1。输出为满足上述条件的最大花费额度。第二行输入为购买资金的额度R;单个商品价格小于1000;而且想尽可能的花完资金,原创 2023-03-16 23:09:37 · 173 阅读 · 0 评论 -
【华为OD机试真题 JAVA】GPU算力问题
在保证Gpu不空闲的情况下,最少需要多长时间执行完成。数组元素表示在这1s内新增的任务个数,需要尽可能多的将任务交给GPU执行,第一个参数为gpu最多执行的任务个数。一次最多执行3个任务,最少耗时6s。假设GPU最多一次执行n个任务,第二个参数为任务数组的长度。执行完所有任务需要多少秒。为了充分发挥Gpu算力,取值范围1~10000。取值范围1~10000。数字范围1~10000。现在有一个任务数组,且每秒都有新增任务,第三个参数为任务数组。原创 2023-03-16 23:02:07 · 730 阅读 · 0 评论 -
【华为OD机试真题 JAVA】猴子爬山阶梯跳跃问题
途中经过一个有n个台阶的阶梯,但是这个猴子有个习惯,每一次只跳1步或3步。猴子通过这个阶梯有多少种不同的跳跃方式。输入只有一个这个数n 0 < n < 50。*一天一只顽猴想要从山脚爬到山顶。原创 2023-03-16 22:59:58 · 454 阅读 · 0 评论 -
【华为OD机试真题 JAVA】TLV编码问题
TLV编码是按TagLengthValue格式进行编码的,一段码流中的信元用tag标识,tag在码流中唯一不重复,length表示信元value的长度,value表示信元的值,码流以某信元的tag开头,tag固定占一个字节,length固定占两个字节,字节序为小端序,现给定tlv格式编码的码流以及需要解码的信元tag,请输出该信元的value。从码流的起始处开始匹配,tag为32的信元长度为1(01 00,小端序表示为1);输入第二行为一个字符串, 表示待解码的16进制码流;需要解析的信源的tag是31;原创 2023-03-16 22:56:47 · 533 阅读 · 0 评论 -
【华为OD机试真题 JAVA】取出k对元素,并对取出的所有元素求和,计算和的最小值
用例中需要取两个元素,取第一个数组第0个元素与第二个数组第0个元素组成一个元素[1,1];注意:两对元素对应arr1、arr2的下标是相同的,视为同一对元素。取第一个数组第1个元素与第二个数组第0个元素组成一个元素[1,1];现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值;假设从arr1、arr2中分别取出一个元素,可构成一对元素;给定两个整数数组,arr1、arr2,数组元素按升序排列;arr1,arr2中的每个元素e, 0< e原创 2023-03-16 22:46:41 · 430 阅读 · 0 评论 -
【华为OD机试真题 JAVA】求勾股数元组
如果ABC之间两两互质,即A与B,A与C,B与C均互质没有公约数,如果三个正整数A、B、C ,A²+B²=C²则为勾股数。多组勾股数元组,按照A B C升序的排序方式输出。若给定范围内,找不到勾股数元组时,输出Na。请求出给定n~m范围内所有的勾股数元组。则称其为勾股数元组。ABC保证A原创 2023-03-16 22:43:12 · 376 阅读 · 0 评论 -
【华为OD机试真题 JAVA】找出字符串中的最长(连续)子串的长度
1、 只包含1个字母(a~z, A~Z),其余必须是数字;如果找不到满足要求的子串,如全是字母或全是数字,则返回-1。满足条件的最长子串是C124或者124A,长度都是4。字符串自身就是满足条件的子串,长度为2。2、 字母可以在子串中的任意位置;满足条件的子串为B9,长度为2。没有满足要求的子串,返回-1。字符串(只包含字母和数字)原创 2023-03-16 22:41:17 · 831 阅读 · 0 评论 -
【华为OD机试真题 JAVA】身高排序问题
然后就想基于各小朋友和自己的身高差,对他们进行排序,0 < H < 50 为新班级其他小朋友个数。来到新班级后,发现其他小朋友身高参差不齐,和小明身高差绝对值最小的小朋友排在前面。和小明身高差绝对值最大的小朋友排在后面。0 < H < 200 为小明的身高。H1 ~ Hn分别是其他小朋友的身高。取值范围0 < Hi < 200。输出排序结果,各正整数以空格分割。如果两个小朋友和小明身高差一样。小明今年升学到了小学一年级,则个子较小的小朋友排在前面。第一行为正整数 H和N。且N个正整数各不相同。原创 2023-03-16 23:05:47 · 619 阅读 · 1 评论