
华为OD机试JAVA真题
文章平均质量分 78
CSDN全网语言最全、最新、最详细的解题思路分析的华为OD实际机考的真题,每个题目都有java、python、C++、javascript等多个语言版本实现,每题都有解题思路教大家怎么实现,代码可以直接运行通,帮助1000+小伙伴顺利通过机试。2023年全年实时更新。
码莎拉蒂 .
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
华为OD机试(Java)真题目录汇总(2022&2023)
华为OD机试(Javascript)真题目录汇总。华为OD机试(Python)真题目录汇总。华为OD机试(C++)真题目录汇总。原创 2023-02-13 17:07:33 · 6756 阅读 · 11 评论 -
#HarmonyOS NEXT# 数据加密 2. 非对称密钥生成
⚫ 调用AsyKeyGenerator.convertKey,传入二进制密钥数据,生成非对称密钥对象。‘RSA1024|PRIMES_2’,创建RSA密钥类型为RSA1024、素数个数为2的非对。(KeyPair)。⚫ 以RSA为例,随机生成非对称密钥对(KeyPair),并获得二进制数据。即将外部或存储的二进制数据转换为算法库的密钥对象,该对。⚫ 非对称密钥对可用于后续加解密等操作,二进制数据可用于存储或运输。以RSA为例,根据指定的对称密钥二进制数据,生成非对称密钥对。指定二进制数据转换非对称密钥对。原创 2023-03-15 00:43:35 · 18922 阅读 · 0 评论 -
#HarmonyOS NEXT# 数据加密 4.加解密之一
⚫ 调用Cipher.init,设置模式为加密(CryptoMode.ENCRYPT_MODE),指定加密密钥(SymKey)和GCM模式对应的加密参数。⚫ 调用Cipher.init,设置模式为加密(CryptoMode.ENCRYPT_MODE),指定加密密钥。小时,可以在init完成后直接调用doFinal。⚫ 加密内容较短时,可以不调用update,直接调用Cipher.doFinal,获取加密后的数据。⚫ 解密内容较短时,可以不调用update,直接调用Cipher.doFinal,获取解密后。原创 2023-03-15 00:40:59 · 16797 阅读 · 0 评论 -
#HarmonyOS NEXT# 数据加密 3. 指定密钥参数生成非对称密钥对
⚫ 构造RSACommonParamsSpec对象,用于指定RSA算法中公私钥包含的公共参数(n)。使用密钥参数生成密钥时,用到的bigint类型需要以大端模式输入,且必须为正数。⚫ 以RSA为例,根据指定的密钥参数,生成非对称密钥对(KeyPair),并获取。获取的密钥参数属性可用于存储或运输。指定密钥参数生成非对称密钥对。指定密钥参数生成非对称密钥对。指定密钥参数生成非对称密钥对。指定密钥参数生成非对称密钥对。指定密钥参数生成非对称密钥对。指定密钥参数生成非对称密钥对。指定密钥参数生成非对称密钥对。原创 2023-03-15 00:42:07 · 19124 阅读 · 0 评论 -
#HarmonyOS NEXT# 数据加密 4.加解密之二
⚫ 调用Cipher.init,设置模式为加密(CryptoMode.ENCRYPT_MODE),指定加密密钥。⚫ 1)比如ECB和CBC模式,始终以分组作为基本单位来加密,并输出本次update产生的加密分。⚫ doFinal输出结果可能为null,在访问具体数据前,需要先判断结果是否为null,避免。将一次传入数据量设置为20字节,多次调用Cipher.update,更新数据(明文)。数据,根据指定的填充模式进行填充,在输出剩余加密结果。的数据中取出末尾16字节,作为解密时初始化的认证信息。原创 2023-03-15 00:40:36 · 15943 阅读 · 0 评论 -
华为OD机试真题Java实现【任务调度】真题+解题思路+代码(2022&2023)
为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1s内新增的任务个数,且每秒都有新增任务,假设GPU最多一次执行n个任务,一次执行耗时1s在保证GPU不空闲的情况下,最少需要多长时间执行完成。原创 2023-03-15 00:39:40 · 14247 阅读 · 0 评论 -
华为OD机试真题Java实现【乱序整数序列两数之和绝对值最小】真题+解题思路+代码(2022&2023)
给定一个随机的整数(可能存在正整数和负整数)数组 nums,请你在该数组中找出两个数,其和的绝对值(|nums[x]+nums[y]|)为最小值,并返回这个两个数(按从小到大返回)以及绝对值。每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。原创 2023-03-15 00:36:57 · 13171 阅读 · 0 评论 -
华为OD机试真题Java实现【字符串序列判定】真题+解题思路+代码(2022&2023)
输入两个字符串S和L,都只包含英文小写字母。S长度原创 2023-03-15 00:36:05 · 13256 阅读 · 0 评论 -
华为OD机试真题Java实现【交换字符】真题+解题思路+代码(2022&2023)
给定一个字符串S变化规则:交换字符串中任意两个不同位置的字符MS都是小写字符组成。原创 2023-03-15 00:35:10 · 13019 阅读 · 0 评论 -
华为OD机试真题Java实现【得完美走位】真题+解题思路+代码(2022&2023)
在第一人称射击游戏中,玩家通过键盘的ASDW四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。假设玩家每按动一次键盘,游戏人物会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏人物必定会回到原点,则称此次走位为完美走位。ASDA),请通过更换其中一段连续走位的方式使得原走位能够变成一个完美走位。其中待更换的连续走位可以是相同长度的任何走位。请返回待更换的连续走位的最小可能长度。若果原走位本身是一个完美走位,则返回0。原创 2023-03-13 01:47:48 · 5465 阅读 · 0 评论 -
华为OD机试真题Java实现【去除多余空格】真题+解题思路+代码(2022&2023)
去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。length。原创 2023-03-13 01:48:53 · 12754 阅读 · 0 评论 -
华为OD机试真题Java实现【整数编码】真题+解题思路+代码(2022&2023)
第一个字节最高位置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。3、采用小端序编码,低位和低字节放在低地址上。原创 2023-03-13 01:46:20 · 4340 阅读 · 0 评论 -
华为OD机试真题Java实现【匿名信】真题+解题思路+代码(2022&2023)
电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字减下来,剪拼成匿名信。现在又一名举报人,希望借鉴这种手段,使用英文报刊完成举报操作。但为了增加文章的混淆度,只需满足每个单词中字母数量一致即可,不关注每个字母的顺序。解释:单词on允许通过单词no进行替代。报纸代表newspaper,匿名信代表求报纸内容是否可以拼成匿名信。原创 2023-03-13 01:45:38 · 2546 阅读 · 0 评论 -
华为OD机试真题Java实现【找终点】真题+解题思路+代码(2022&2023)
实现的功能是输入一个由 n 个整数组成的字符串 nums,其中 nums[i] 表示从第 i 个位置可以向右跳 nums[i] 步。要求输出在最少的跳跃次数下能够跳到 nums 数组的最后一个位置的步数(包括起点和终点),如果不能跳到,则输出 -1。给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。2、从第二步开始,只能以所在成员的数字走相应的步数,不能多也不能少, 如果目标不可达返回-1,只输出最少的步骤数量。原创 2023-03-13 01:44:53 · 2396 阅读 · 0 评论 -
华为OD机试真题Java实现【执行时长】真题+解题思路+代码(2022&2023)
为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务,假设GPU最多一次执行n个任务,一次执行耗时1秒,在保证GPU不空闲情况下,最少需要多长时间执行完成。第一个参数为GPU一次最多执行的任务个数,取值范围[1, 10000]第二个参数为任务数组长度,取值范围[1, 10000]一次最多执行3个任务,最少耗时6s。一次最多执行4个任务,最少耗时5s。试题来源:华为 OD 联盟整理收集。执行完所有任务最少需要多少秒。原创 2023-03-13 01:45:59 · 3542 阅读 · 0 评论 -
华为OD机试真题Java实现【整数对最小和】真题+解题思路+代码(2022&2023)
假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值。输入两行数组array1、array2,每行首个数字为数组大小size(0 < size原创 2023-03-13 01:43:30 · 2144 阅读 · 0 评论 -
华为OD机试真题Java实现【敏感字段加密】真题+解题思路+代码(2022&2023)
给定一个由多个命令字组成的命令字符串;127""请对指定索引的敏感字段进行加密,替换为******(6个),并删除命令字前后多余的下划线_。如果无法找到指定索引的命令字,输出字符串ERROR。原创 2023-03-13 01:42:47 · 2162 阅读 · 0 评论 -
华为OD机试真题Java实现【整型数组按个位值排序】真题+解题思路+代码(2022&2023)
涉及的主要集合有Map和StringBuilder,主要的知识点包括Scanner类的使用、Java基础语法、集合框架以及异常处理等。给定一个非空数组(列表),其元素数据类型为整型,请按照数组元素十进制最低位从小到大进行排序,十进制最低位相同的元素,相对位置保持不变。给定一个非空数组,其元素数据类型为32位有符号整数,数组长度[1, 1000]当数组元素为负值时,十进制最低位等同于去除符号位后对应十进制值最低位。试题来源:华为 OD 联盟整理收集。原创 2023-03-13 01:43:53 · 2341 阅读 · 0 评论 -
华为OD机试真题Java实现【日志采集系统】真题+解题思路+代码(2022&2023)
日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。如果上报太频繁,会对服务端造成压力;如果上报太晚,会降低用户的体验;如果一次上报的条数太多,会导致超时失败。111100。原创 2023-03-13 01:41:19 · 1926 阅读 · 0 评论 -
华为OD机试真题Java实现【最长连续子串】真题+解题思路+代码(2022&2023)
给定一个字符串 只包含字母和数字按要求找出字符串中的最长连续子串的长度字符串本身是其最长的子串子串要求(a~z A~Z)-1。原创 2023-03-13 01:41:51 · 2031 阅读 · 1 评论 -
华为OD机试真题Java实现【找朋友】真题+解题思路+代码(2022&2023)
同时还有异常捕获和处理的语法。请重新生成一个列表,对应位置的输出是每个小朋友的好朋友位置,如果没有看到好朋友,请在该位置用0代替。第一个小朋友身高100,站在队尾位置,向队首看,没有比他身高高的小朋友,所以输出第一个值为0。第i个小朋友可以看到的第一个比自己身高更高的小朋友j,那么j是i的好朋友(要求j > i)。在学校中,N个小朋友站成一队, 第i个小朋友的身高为height[i],第二行输入N个小朋友的身高height[i],都是整数。124的好朋友是2位置上的125。输出N个小朋友的好朋友的位置。原创 2023-03-13 01:41:09 · 1860 阅读 · 0 评论 -
华为OD机试真题Java实现【字符串筛选排序】真题+解题思路+代码(2022&2023)
k如果大于字符串长度,则输出最大ascii值的字母所在字符串的位置索引,如果第k个最小ascii码值的字母存在重复,则输出该字母的最小位置索引。输入一个由n个大小写字母组成的字符串,按照Ascii码值从小到大的排序规则,查找字符串中第k个最小ascii码值的字母(k>=1),输出该字母所在字符串的位置索引(字符串的第一个字符位置索引为0)。k如果大于字符串长度,则输出最大ascii值的字母所在字符串的位置索引,如果有重复的字母,则输出字母的最小位置索引。试题来源:华为 OD 联盟整理收集。原创 2023-03-13 01:40:30 · 1839 阅读 · 0 评论 -
华为OD机试真题Java实现【最低位排序】真题+解题思路+代码(2022&2023)
比较器对象的实现方式为匿名内部类,重写了compare方法和getKey方法来确定排序规则。在compare方法中,使用getKey方法计算出每个数字的个位数,作为它们的排序依据。而在getKey方法中,则是根据输入的数字计算出其个位数,如果该数字为负数,则先取绝对值再计算。然后通过定义一个比较器对象,以每个数字的个位数为排序关键字进行排序。当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位。给定一个非空数组(列表),起元素数据类型为整型,十进制最低位相同的元素,相对位置保持不变,原创 2023-03-13 01:37:50 · 1707 阅读 · 0 评论 -
华为OD机试真题Java实现【用连续自然数之和来表达整数】真题+解题思路+代码(2022&2023)
整数 9 有三种表示方法,第1个表达式只有1个自然数,最先输出,第2个表达式有2个自然数,第2次序输出,第3个表达式有3个自然数,最后输出。其中用到的集合包括Scanner对象,使用while循环对x的迭代,以及for循环对每个可能的分解进行输出。在每个测试数据结束时,输出一行”Result:X”,其中X是最终的表达式个数。给定一个整数,计算该整数有几种连续自然数之和的表达式,且打印出每种表达式。1.读取用户从控制台输入的整数作为inputNum,如果inputNum不在1到1000之间,则输出结果为0。原创 2023-03-13 01:36:50 · 1731 阅读 · 0 评论 -
华为OD机试真题Java实现【找车位】真题+解题思路+代码(2022&2023)
停车场有一横排车位,0代表没有停车,1代表有车。至少停了一辆车在车位上,也至少有一个空位没有停车。为了防剐蹭,需为停车人找到一个车位,使得距停车人的车最近的车辆的距离是最大的,返回此时的最大距离。原创 2023-03-13 01:35:59 · 1709 阅读 · 0 评论 -
华为OD机试真题Java实现【新工号系统】真题+解题思路+代码(2022&2023)
3020年空间通信集团的员工突破20亿人,即将遇到现有工号不够的窘境。现在你负责调研新工号系统,继承历史传统新的工号系统由小写英文字母a-z和数字0-9两部分构成。新工号由一段英文字母开头。之后跟随一段数字,比如aaahw0001a12345abcd1a00注意:新工号不能全为字母或数字,允许数字部分有前导0或者全为0。但是过长的工号会增加同事们的记忆成本,现在给出新工号 至少需要分派的人数x和新工号中字母的长度y求新工号中数字的最短长度z。原创 2023-03-13 01:35:15 · 1793 阅读 · 0 评论 -
华为OD机试真题Java实现【找出符合要求的字符串子串】真题+解题思路+代码(2022&2023)
整个程序主要使用了 Java 的集合框架中的 List 和 Collections 类,以及字符串的常见操作方法 contains、charAt、valueOf 等。同时还有异常捕获和处理的语法。从字符串2中找出字符串1的字符,去除重复的字符,并且按照ASCII值从小到大排序,得到输出的结果为abc。给定两个字符串,从字符串2中找出字符串1中的所有字符,去重并按照ASCII值从小到大排序。输入字符串1 为给定字符串bach,输入字符串2 bbaaccedfg。字符串1中的字符h在字符串2中找不到不输出。原创 2023-03-13 01:34:24 · 1363 阅读 · 0 评论 -
华为OD机试真题Java实现【新学校选址】真题+解题思路+代码(2022&2023)
为了解新学期学生暴涨的问题,小乐村要建立所新学校考虑到学生上学安全问题,需要所有学生家到学校的距离最短.假设学校和所有学生家都走在一条直线之上,请问学校建立在什么位置,能使得到学校到各个学生家的距离和最短。原创 2023-03-13 01:34:58 · 1504 阅读 · 0 评论 -
华为OD机试真题Java实现【找字符】真题+解题思路+代码(2022&2023)
给定两个字符串,从字符串2中找出字符串1中的所有字符,去重并按照ASCII码值从小到大排列。原创 2023-03-13 01:32:13 · 1429 阅读 · 0 评论 -
华为OD机试真题Java实现【数组二叉树】真题+解题思路+代码(2022&2023)
输入的树最多为7层。二叉树也可以用数组来存储,给定一个数组,树的根节点的值存储在下标1,对于存储在下标N的节点,它的左子节点和右子节点分别存储在下标2N和2N+1,并且我们用值-1代表一个节点为空。数组存储的二叉树如图,故到最小叶子节点的路径为10 8 7 6,注意数组仅存储至最后一个非空节点,故不包含节点“7”右子节点的-1。输出从根节点到最小叶子节点的路径上,各个节点的值,由空格分隔,用例保证最小叶子节点只有一个。给定一个数组存储的二叉树,试求从根节点到最小的叶子节点的路径,路径由节点的值组成。原创 2023-03-08 01:16:15 · 1488 阅读 · 1 评论 -
华为OD机试真题Java实现【英文输入法】真题+解题思路+代码(2022&2023)
主管期望你来实现英文输入法单词联想功能。需求如下:依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。注意:英文单词联想时,区分大小写缩略形式如”don’t”,判定为两个单词,”don”和”t”输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号。原创 2023-03-08 01:17:16 · 1475 阅读 · 1 评论 -
华为OD机试真题Java实现【用户调度问题】真题+解题思路+代码(2022&2023)
在通信系统中,一个常见的问题是对用户进行不同策略的调度,会得到不同的系统消耗和性能。假设当前有n个待串行调度用户,每个用户可以使用A/B/C三种不同的调度策略,不同的策略会消耗不同的系统资源。请你根据如下规则进行用户调度,并返回总的消耗资源数。原创 2023-03-08 01:14:46 · 1421 阅读 · 0 评论 -
华为OD机试真题Java实现【求最大数字】真题+解题思路+代码(2022&2023)
给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。如34533,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值4533请返回经过删除操作后的最大的数值,以字符串表示。原创 2023-03-08 01:14:07 · 1409 阅读 · 1 评论 -
华为OD机试真题Java实现【分奖金】真题+解题思路+代码(2022&2023)
公司老板做了一笔大生意,想要给每位员工分配一些奖金,想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序,每个人随机抽取一个数字。按照工号的顺序往后排列,遇到第一个数字比自己数字大的,那么,前面的员工就可以获得距离 * 数字差值的奖金。如果遇不到比自己数字大的,就给自己分配随机数数量的奖金。例如:2103。那么第2个员工的数字10比第1个员工的数字2大,所以,第1个员工可以获得。第2个员工后面没有比他数字更大的员工,所以,他获得他分配的随机数数量的奖金,就是10。原创 2023-03-08 01:14:51 · 1501 阅读 · 0 评论 -
华为OD机试真题Java实现【一种字符串压缩表示的解压】真题+解题思路+代码(2022&2023)
有一种简易压缩算法:针对全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为连续个数加该字母,其他部分保持原样不变。例如:字符串“aaabbccccd”经过压缩成为字符串“3abb4cd”。请您编写解压函数,根据输入的字符串,判断其是否为合法压缩过的字符串,若输入合法则输出解压缩后的字符串,否则输出字符串“!error”来报告错误。原创 2023-03-08 01:14:04 · 1407 阅读 · 0 评论 -
华为OD机试真题Java实现【寻找身高相近的小朋友】真题+解题思路+代码(2022&2023)
小明今年升学到小学一年级,来到新班级后发现其他小朋友们身高参差不齐,然后就想基于各小朋友和自己的身高差对他们进行排序,请帮他实现排序。原创 2023-03-08 01:11:41 · 1419 阅读 · 0 评论 -
华为OD机试真题Java实现【 数字加减游戏】真题+解题思路+代码(2022&2023)
小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。每个回合,小明可以用当前的数字加上或减去一个数字。现在有两种数字可以用来加减,分别为a,b(a!=b),其中b没有使用次数限制。请问小明最少可以用多少次a,才能将数字s变成数字t。题目保证数字s一定能变成数字t。原创 2023-03-08 01:12:35 · 1350 阅读 · 1 评论 -
华为OD机试真题Java实现【子序列长度】真题+解题思路+代码(2022&2023)
有N个正整数组成的一个序列给定一个整数sum求长度最长的的连续子序列使他们的和等于sum返回次子序列的长度如果没有满足要求的序列 返回-1。原创 2023-03-08 01:11:49 · 1327 阅读 · 1 评论 -
华为OD机试真题Java实现【寻找相同子串】真题+解题思路+代码(2022&2023)
给你两个字符串 t 和 p ,要求从 t 中找到一个和 p 相同的连续子串,并输出该字串第一个字符的下标。原创 2023-03-08 01:09:11 · 1374 阅读 · 0 评论 -
华为OD机试真题Java实现【获取最大软件版本号】真题+解题思路+代码(2022&2023)
Maven版本号定义,举例3.1.4-beta其中,主版本和次版本都是必须的,主版本,次版本,增量版本由多位数字组成,可能包含前导零,里程碑版本由字符串组成。:基于数字比较里程碑版本:基于字符串比较,采用字典序比较版本号时,按从左到右的顺序依次比较。基于数字比较, 只需比较忽略任何前导零后的整数值。输入2个版本号,输出最大版本号。原创 2023-03-06 02:08:19 · 1422 阅读 · 1 评论