
华为OD机试AB(C++&Java &JS &Python)
文章平均质量分 58
华为OD算法题,每篇博客都包含四种语言实现C++、Java、JS、Python,超高质量的算法考点解析(文字说明+画图+原型题)
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
人工智能_SYBH
专注于项目实战开发,讲解,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。全网粉丝10万+,掘金/知乎/华为云/阿里云/51CTO等平台优质创作者。
展开
-
2023华为od统一考试B卷【最少交换次数】Java 实现
1:本质上是数字的最小移动次数,利用滑动窗口思想,窗口大小为所有小于k的整数,然后窗口中大于k的整数则是需要替换的次数。小于2的表达式是1 1 0, 共三种可能将所有符合要求数字组合一起,最少交换1次。给出数字K,请输出所有结果小于K的整数组合到一起的最少交换次数。组合一起是指满足条件的数字相邻,不要求相邻后在数组中的位置。空间限制:C/C++262144K,其他语言524288K。时间限制:C/C++ 1秒,其他语言 2秒。第一行输入数组:1 3 1 4 0。第一行输出最少交换次数:1。原创 2023-10-07 11:16:47 · 160 阅读 · 0 评论 -
华为od统一考试B卷【最长子字符串的长度】Java 实现
最长子字符串是 “oxdolxl”,由于是首尾连接在一起的,所以最后一个 ‘x’ 和开头的 ‘l’是连接在一起的,此字符串包含 2 个’o’。给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出 ‘o’ 字符出现了偶数次最长子字符串的长度。1:要找出最长的包含 o 偶数次的子串,那么两个核心点,第一、偶数次。这个示例中,字符串 “bcbcbc” 本身就是最长的,因为 ‘o’ 都出现了 0 次。最长子字符串之一是 “alolob”,它包含’o’ 2个。输入是一串小写字母组成的字符串。原创 2023-10-07 11:13:24 · 119 阅读 · 0 评论 -
华为od统一考试B卷【查字典】Java 实现
空间限制:C/C++262144K,其他语言524288K。空间限制:C/C++262144K,其他语言524288K。所有包含该前缀的单词,多个单词换行输出若没有则返回-1。2:输入输出的方法要多练,这个题的输入就没那么直观。输入一个单词前缀和一个字典,输出包含该前缀的单词。单词前缀+字典长度+字典字典是一个有序单词数组。时间限制:C/C++ 1秒,其他语言 2秒。时间限制:C/C++ 1秒,其他语言 2秒。1:简单的字符串处理题目,送分的。原创 2023-10-07 11:13:41 · 83 阅读 · 0 评论 -
华为od统一考试B卷【分月饼】Java 实现
中秋节,公司分月饼,m个员工,买了n个月饼,m原创 2023-10-07 11:13:48 · 218 阅读 · 0 评论 -
2023华为od统一考试B卷【猜密码】Java 实现
2、输出的密码数字要按照从小到大的顺序排列,密码组合需要按照字母顺序,从小到大的顺序排序。可能的密码组合,每种组合显示成一行,每个组合内部的数字以半角逗号分隔,从小到大的顺序排列。只记得密码都是数字,而且所有数字都是不重复的。请你根据他记住的数字范围和密码的最小数字数量,帮他算下有哪些可能的组合,3、输出的每一个组合的数字的数量要大于等于密码最小数字数量;1、输入的第一行是可能的密码数字列表,数字间以半角逗号分隔。1、输出的组合都是从可选的数字范围中选取的,且不能重复;2、输入的第二行是密码最小数字数量。原创 2023-10-07 11:13:59 · 77 阅读 · 0 评论 -
2023 华为od统一考试B卷【贪吃蛇】Java 实现
图2:蛇头向左移动一格,蛇头和食物重叠,注意此时食物的格子成为了新的蛇头,第1节身体移动到蛇头位置,第2节身体移动到第1节身体位置,以此类推,图1:截取了贪吃蛇移动的一个中间状态,H表示蛇头,F表示食物,数字为蛇身体各节的编号,蛇为向左移动,此时蛇头和食物已经相邻。图6蛇头向上移动一格,此时蛇头和第8节身体都移动到了原来第7节身体的位置,发生碰撞,游戏结束。图3:蛇头继续向左移动一格,身体的各节按上述规则移动,此时蛇头已经和边界相邻,但还未碰撞。图5和图6给出一个蛇头和身体碰撞的例子,蛇为向上移动。原创 2023-10-07 11:14:24 · 87 阅读 · 0 评论 -
华为od统一考试B卷【数字排列】Java 实现
小明负责公司年会,想出一个趣味游戏:屏幕给出1~9中任意3个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第N位置的数字,其中N为给出的数字中最大的(如果不到这么多个数字则给出最后一个即可),谁最快给出谁得奖。同理,如果屏幕给的是“5”,大家可把它当作“5”,也可以把它当作“2”来拼接数字,但屏幕不能同时给出“2”和“5”。同理,如果屏幕给的是“9”,大家可把它当作“9”,也可以把它当作“6”来拼接数字,但屏幕不能同时给出“6”和“9”。时间限制:C/C++ 1秒,其他语言 2秒。原创 2023-10-07 11:16:33 · 89 阅读 · 0 评论 -
华为od统一考试B卷【火星文计算】Java 实现
输入的字符串说明:字符串为仅由无符号整数和操作符(#、$)组成的计算表达式。3、火星人公式中,$的优先级高于#,相同的运算符,按从左到右的顺序计算。12345678987654321$54321 //32位整数计算溢出。1:利用一个栈来保存解析好的表达式,然后逐个的模拟计算即可。时间限制:C/C++ 1秒,其他语言 2秒。3+4-5*6/7 //有其它操作符。例如:123#4$5#67$78。#4$5 //缺少操作数。4$5# //缺少操作数。4#$5 //缺少操作数。4 $5 //有空格。原创 2023-10-07 11:16:22 · 63 阅读 · 0 评论 -
华为od统一考试B卷【斗地主之顺子】Java 实现
13张牌中,可以组成2组顺子,从小到大分别为:3 4 5 6 7 和 9 10 J Q K A。空间限制:C/C++262144K,其他语言524288K。13张牌中,可以组成的顺子只有1组:3 4 5 6 7。输入输出示例仅供调试,后台判题数据一般不包含示例。输入输出示例仅供调试,后台判题数据一般不包含示例。输入输出示例仅供调试,后台判题数据一般不包含示例。1:除去非数字牌的影响,其实就是数组的排序问题。3:注意输出的时候还需要按照大小顺序来输出。时间限制:C/C++ 1秒,其他语言 2秒。原创 2023-10-07 11:16:06 · 80 阅读 · 0 评论 -
2023华为od统一考试B卷【二叉树中序遍历】Java 实现
根据给定的二叉树结构描述字符串,输出该二叉树按照中序遍历结果字符串。中序遍历顺序为:左子树,根结点,右子树。由大小写字母、左右大括号、逗号组成的字符串:字母代表一个节点值,左右括号内包含该节点的子节点。左右子节点使用逗号分隔,逗号前为空则表示左子节点为空,没有逗号则表示右子节点为空。1:明显的一个递归题目,可利用一个队列来保存父子关系。注:输入字符串格式是正确的,无需考虑格式错误的情况。输出一个字符串为二叉树中序遍历各节点值的拼接结果。时间限制:C/C++ 1秒,其他语言 2秒。原创 2023-10-07 11:15:55 · 85 阅读 · 0 评论 -
华为od统一考试B卷【字符串序列判定】Java 实现
(例如,S=”ace”是L=”abcde”的一个子序列且有效字符是a、c、e,而”aec”不是有效子序列,且有效字符只有a、e)S中的每个字符在L中都能找到(可以不连续),且S在L中字符的前后顺序与S中顺序要保持一致。S长度原创 2023-10-07 11:15:34 · 96 阅读 · 0 评论 -
华为od统一考试B卷【字符串排序】Java 实现
对输入的单词进行字典序排序输出: 字典序定义:1. 单词中字母比较不区分大小写,两个单词先以第一个字母作为排序的基准,如果第一个字母相同,就用第二个字母为基准,如果第二个字母相同就以第三个字母为基准。2. 当一个短单词和一个长单词的开头部分都相同(即短单词是长单词从首字母开始的一部分),短单词顺序在前。不超过255个字符中,单词间用空格进行分隔,为简单起见,单词不包含连字符,无其它标点符号。输出排序后的单词,单词之间用空格隔开(最后不带空格),重复的单词只输出一次。-> 大小写不同的相同单词输出一次。原创 2023-10-07 11:15:17 · 56 阅读 · 0 评论 -
华为od统一考试B卷【内存资源分配】Java 实现
空间限制:C/C++262144K,其他语言524288K。如true,true,true,false,false。输入输出示例仅供调试,后台判题数据一般不包含示例。包含内存粒度数据信息,粒度数据间用逗号分割。时间限制:C/C++ 1秒,其他语言 2秒。冒号前为内存粒度大小,冒号后为数量。每个粒度的数量不大于4096。一个粒度信息内用冒号分割。申请结果成功失败列表。第一行为内存池资源列表。资源列表不大于1024。输出为内存池分配结果。原创 2023-10-07 11:15:07 · 66 阅读 · 0 评论 -
2023华为od统一考试B卷【约瑟夫问题】Java 实现
第一轮计数出列数字为 2,计数值更新 m=2,出列后数列为 3,1,4,从数值 4 所在位置从新开始计数。比如:输入的随机数列为:3,1,2,4,初始计数值 m=7,从数列首位置开始计数(数值 3 所在位置)输入: int input_array[] = {3,1,2,4},int len = 4, m=7。第二轮计数出列数字为 3,计数值更新 m=3,出列后数列为 1,4,从数值 1 所在位置开始计数。第三轮计数出列数字为 1,计数值更新 m=1,出列后数列为 4,从数值 4 所在位置开始计数。原创 2023-10-07 11:15:45 · 48 阅读 · 0 评论 -
华为od统一考试B卷【统计文本数量】Java 实现
3. 文本支持字符串, 字符串为成对的单引号(')或者成对的双引号("), 字符串可能出现用转义字符(\)处理的单双引号(比如"your input is: \"")和转义字符本身, 比如。",但空文本不能算语句,比如"COMMAND A;4. 支持注释, 可以出现在字符串之外的任意位置, 注释以"--"开头, 到换行结束, 比如。有一个文件, 包含以一定规则写作的文本, 请统计文件中包含的文本数量。注意, 无字符/空白字符/制表符都算作"空"文本。注意, 字符串内的"--", 不是注释。原创 2023-10-07 11:14:47 · 73 阅读 · 0 评论 -
2023华为od统一考试B卷【最大时间】Java 实现
给定一个数组,里面有 6 个整数,求这个数组能够表示的最大 24 进制的时间是多少,输出这个时间,无法表示输出 invalid。输入为一个整数数组,数组内有六个整数。输入整数数组长度为 6,不需要考虑其它长度,元素值为 0 或者正整数,6 个数字每个数字只能使用一次。输出为一个 24 进制格式的时间,或者字符串”invalid“。输出时间格式为 xxxxx 式。输入输出示例仅供调试,后台判题数据一般不包含示例23:56:00。原创 2023-10-07 11:14:56 · 54 阅读 · 0 评论 -
华为od统一考试B卷【用户调度问题】Java 实现
假设当前有n个待串行调度用户,每个用户可以使用A/B/C三种不同的调度策略,不同的策略会消耗不同的系统资源。3. 每个用户依次选择当前所能选择的对系统资源消耗最少的策略(局部最优),如果有多个满足要求的策略,选最后一个。1. 相邻的用户不能使用相同的调度策略,例如,第1个用户使用了A策略,则第2个用户只能使用B或者C策略。1号用户使用B策略,2号用户使用C策略,3号用户使用B策略。在通信系统中,一个常见的问题是对用户进行不同策略的调度,会得到不同的系统消耗和性能。1:利用递归的方法来实现。原创 2023-10-07 11:14:10 · 58 阅读 · 0 评论 -
华为od统一考试B卷【分班问题】Java 实现
空间限制:C/C++262144K,其他语言524288K。输入输出示例仅供调试,后台判题数据一般不包含示例。输入输出示例仅供调试,后台判题数据一般不包含示例。时间限制:C/C++ 1秒,其他语言 2秒。1:注意审题,只有两个班!2:核心就是简单的字符串处理。原创 2023-10-07 11:14:34 · 53 阅读 · 0 评论 -
华为od统一考试B卷【小朋友排队】【寻找身高相近的小朋友】Java 实现
小明今年升学到了小学1年级来到新班级后,发现其他小朋友身高参差不齐,然后就想基于各小朋友和自己的身高差,对他们进行排序,请帮他实现排序。第二行为n个正整数,h1 ~ hn分别是其他小朋友的身高,取值范围0原创 2023-10-07 11:17:01 · 137 阅读 · 0 评论 -
2023华为od统一考试B卷【输出指定字母在字符串的中的索引】Java 实现
排好序后 AABBDhjkqy,第 4 个是 B,第一个出现的在原字符串 6 这个位置。给定一个字符串,把字符串按照大写在前小写在后排序,输出排好后的第 K 个字母在原来字符串的索引。1:有一个取巧一点的办法,先将大小写字母分开,分别排序后合并,即可实现整体的排序。空间限制:C/C++262144K,其他语言524288K。2:或者自己写排序规则 comp 函数也是可以的。输入输出示例仅供调试,后台判题数据一般不包含示例。时间限制:C/C++ 1秒,其他语言 2秒。相同字母输出第一个出现的位置。原创 2023-10-07 11:17:18 · 78 阅读 · 0 评论 -
华为od统一考试B卷【批量处理任务】Java 实现
因此计算机仅需在时间点 2、5、6 或 3、5、6 三个时刻保持开机即可完成任务。输入:tasks = [[1,3,2],[2,5,3],[5,6,2]]输入:tasks = [[2,3,1],[5,5,1],[5,6,2]]因此计算机仅需在时间点 2、3、5、6 四个时刻保持开机即可完成任务。tasks[1] 选择时间点 2、3、5;tasks[0] 选择时间点 2 或 3;tasks[0] 选择时间点 2、3;tasks[2] 选择时间点 5、6;tasks[2] 选择时间点 5、6;原创 2023-10-08 11:09:20 · 50 阅读 · 0 评论 -
2023华为od机试真题B卷【报文回路】Java 实现
HOST 收到查询报文后给 ROUTER 回复一个响应报文, 以维持相互之间互通的关系, 一旦这个关系断裂,那么这条组播通路就“异常”了。GMP 协议中响应报文和查询报文, 是维系组播通路的两个重要报文, 在一条已经建立的组播通路中两个相邻的 HOST 和 ROUTER, ROUTER 会给 HOST 发送查询报文,由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。时间限制:C/C++ 1秒,其他语言 2秒。原创 2023-10-08 11:09:56 · 66 阅读 · 0 评论 -
2023华为od机试真题B卷【比赛】Java 实现
由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。格式1:Scanner sc = new Scanner (new BufferedInputStream(System.in));2号选手得分36分排第1,1号选手36分排第2,5号选手30分(2号10分值有3个,1号10分值只有1个,所以2号排第一)矩阵代表是4*5,每个数字是选手的编号,每一行代表一个评委对选手的打分排序,输入输出示例仅供调试,后台判题数据一般不包含示例。原创 2023-10-08 11:10:04 · 50 阅读 · 0 评论 -
2023华为od机试真题B卷【最长公共后缀】Java 实现
编写一个函数来查找 字符串数组 中的最长公共后缀如果不存在公共后缀,返回固定字符串:@Zero.遍历后面的字符串,依次将其与 ans 进行比较,两两找出公共前缀,最终结果即为最长公共前缀;如果查找过程中出现了 ans 为空的情况,则公共前缀不存在直接返回;2:当字符串数组长度为 0 时则公共前缀为空,直接返回;令最长公共前缀 ans 的值为第一个字符串,进行初始化;不存在公共后缀,返回固定结果: @Zero。时间限制:C/C++ 1秒,其他语言 2秒。几乎一致,一个求前缀,一个求后缀。原创 2023-10-08 11:10:14 · 59 阅读 · 0 评论 -
2023华为OD机试真题B卷【座位调整】Java 实现
疫情期间课堂的座位进行了特殊的调整,不能出现两个同学紧挨着,必须隔至少一个空位给你一个整数数组 desk表示当前座位的占座情况,由若干 0 和 1 组成,其中 0 表示没有占位,1 表示占位。由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。,则说明当前位置可以坐人,将当前位置更新为1即可。第一行是个了数组表示作为占座情况,由若干 0 和1组成,其中 0 表示没有占位,1 表示占位。在读入数据量大的情况下,格式1的速度会快些。原创 2023-10-08 11:10:26 · 64 阅读 · 0 评论 -
2023华为od机试真题B卷【矩阵稀疏扫描】Java 实现
由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。给定的5*3矩阵,每行里面0的个数大于等于1表示稀疏行,每列里面0的个数大于等于2表示稀疏行,所以有5个稀疏行,3个稀疏列。给定的3*3矩阵里,每一行和每一列内都存在2个0,行宽3,列宽3,[3/2] = 1,因此稀疏行有3个,稀疏列有3个。第行输入为M和N,表示矩阵的大小M*N,0< M原创 2023-10-08 11:10:20 · 69 阅读 · 0 评论 -
2023华为od机试真题B卷【AI面板识别】Java 实现
AI识别到面板上有N (1 ≤N ≤ 100) 个指示灯,灯大小一样,任意两个之间无重叠。由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。两个灯高低偏差不超过灯半径算同一行(即两个灯坐标的差灯高度的一半)。3:按照题目意思,高度、高度差、半径、X轴坐标,都是排序的方式。1:题目像是阅读理解,但是其实这个题目考的就是排序算法。1.每次在尚未排序的灯中挑选最高的灯作为的基准灯。在读入数据量大的情况下,格式1的速度会快些。原创 2023-10-08 11:10:40 · 67 阅读 · 0 评论 -
2023华为od机试真题B卷【阿里巴巴找黄金宝箱(IV)】Java 实现
贫如洗的椎夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从0-N的子,每个箱子上面有一人数字,箱了排列成一个环,编号最大的箱子的下一个是编号为0的箱子。请输出每个箱了贴的数字之后的第一个比它大的数,如果不存在则输出-1。第一个2的下一个更大的数是5数字5找不到下一个更大的数:第二个2的下一个最大的数需要循环搜索,结果也是 5。输入一个数字字串,数字之间使用逗号分隔,例如: 1,2,3,1。下一个大的数列表,以逗号分隔,例如: 2,3,6,-1,6。图也是leetcode的官方图。原创 2023-10-08 11:10:33 · 56 阅读 · 0 评论 -
2023华为od机试真题B卷【通过软盘拷贝文件】Java 实现
文件占用的软盘空间都是按块分配的,每个块大小为512个字节。虽然后两个文件总大小更大且未超过1474560字节,但因为实际占用的大小超过了1474560字节,所以不能选后两个文件。由于机试的输入数据和输出数据一般有多组(不定),并且格式多种多样,所以,如何处理题目的输入输出是对大家的一项最基本的要求。也可以选择2个大小为400000的文件和3个大小为200000的文件,得到的总大小也是1400000。接下来的第2行到第N+1行(共N行),每行为一个整数,表示每人文件的大小Si,单位为字节.原创 2023-10-08 11:10:52 · 51 阅读 · 0 评论 -
2023华为od机试真题B卷【组装最大可靠性设备】Java 实现
一个设备由N种类型元器件组成(每种类型元器件只需要一个,类型type编号从0~N-1),每个元器件均有可靠性属性reliability,可靠性越高的器件其价格price越贵。而设备的可靠性由组成设备的所有器件中可靠性最低的器件决定。reliabily 整数类型,代表元器件的可靠性: price 整数类型,代表元器件的价格。符合预算的设备的最大可靠性,如果预算无法买产N种器件,则返回 -1。),在不超过预算的情况下,请给出能够组成的设备的最大可靠性.S N // S总的预算,N元器件的种类。原创 2023-10-08 11:10:46 · 57 阅读 · 0 评论 -
华为od统一考试B卷【数据分类】Java 实现
10数提4个字节相加后的结里分别为12 3 45 67 89 10.故对4取模的结果为1230123012C为3,所以0 12都是有效类型,类型为1和2的有3个数据,类型为0的只有2个数据,故输出3。又比如一个数据a=0x01010103,b=3,按照分类方法计算(0x01+0x01+0x01+0x03) %3=0,所以如果c=2,则此a为有效类型,其类型为0,如果c=0,则此a为无效类型。输入12个数据,用空格分隔,第一个数据为c,第二个数据为b,剩余10个数据为需要分类的数据。原创 2023-10-08 11:10:58 · 66 阅读 · 0 评论 -
2023华为od机试真题B卷【阿里巴巴找黄金宝箱(II)】Java 实现
一个数字字串,数字之间使用逗号分隔,例如: 6,6,6,6,3,3,3,1,1,5字串中数字的个数为偶数,并且个数>=1,原创 2023-10-08 11:11:05 · 56 阅读 · 0 评论 -
2023华为od机试真题B卷【阿里巴巴找黄金宝箱(III)】Java 实现
第一行输入一个数字字串,数字之间使用逗号分隔,例如: 1,2,3,1字串中数字个数>=1,=1,原创 2023-10-08 11:11:12 · 49 阅读 · 0 评论 -
2023华为od机试真题B卷【文件目录大小】Java 【100%通过率】
一个文件目录的数据格式为: 目录id,本目录中文件大小,(子目录id列表)其中目录id全局唯一,取值范围[1,200],本目录中文件大小范围[1,1000],子目录id列表个数[0,10]目录1大小为20,包含一个子目录2(大小为10),子目录2包含人子目录3(大小为15),总的大小为20+10+15=45。1:目录之间的关系其实就是树结构,返回这个目录和及该目录所有子目录的大小之和,其实就是求当前节点及其所有子节点的值之和。第一行为两个数字M,N,分别表示目录的个数和待查询的目录id.原创 2023-10-08 11:11:20 · 56 阅读 · 0 评论 -
2023华为od机试真题B卷【找出两个整数数组中同时出现的整数】Java 实现
两整数数组中同时出现的整数为-12、3、6、8、11,其中同时出现次数为1的整数为-1,2,3.6(升序排序),同时出现次数为3的整数为8,11(升序排序),先升序输出出现次数为1的整数,再升序输出出现次数为3的整数。第一行为第一个整数数组,第二行为第二个整数数组,每行数中整数与整数之间以英文号分,整数的取值范用为200,2001,数组长度的范用为[1,10000]之间的整数。两个整数数组没有同时出现的整数,输出NULL。出现次数:该出现次数下的整数升序排序的结果。2.没有同时出现的整数时,输出NULL。原创 2023-10-08 11:09:33 · 53 阅读 · 0 评论 -
2023华为od机试真题B卷【代码编辑器】Java 实现
SEARCH-BACKWARD word 在文本中向后查找 word 并将指针移动到word的起始位置,如果未找到则保持不变INSERT word 在指针当前位置前插入word,并将指针移动到word的结尾。程序的输入为 已有的代码文本和指令序列,程序需输出编辑后的最终文本。BACKWARD X 指针向后(左)移动X,如果指针移动位置超过了文本开头,则将指针移动到文本开头。FORWARD X 指针向前(右)移动X,如果指针移动位置超过了文本末尾,则将指针移动到文本未尾。在文本的第一个位置插入。原创 2023-10-08 11:12:13 · 68 阅读 · 0 评论 -
2023华为od机试真题【恢复数字序列】Java
组成的序列,可以将其拼接成一个字符串,再将字符串里的部分字符打乱顺序。如序列8 9 10 11 12,拼接成的字符串为89101112,打乱一部分字符后得到90811211,原来的正整数10就被拆成了0和1。现给定一个按如上规则得到的打乱字符的字符串,请将其还原成连续正整数序列,并输出序列中最小的数字.1:很多反馈读不懂题目的,主要看示例1就行了,这5个数字,总共8个字符,任意打乱后组成了19801211,题目说了总共5个数字,要你还原原来的5个数字,然后给出这5个数字种的最小值。原创 2023-10-08 11:09:47 · 106 阅读 · 0 评论 -
2023华为od机试真题B卷【告警抑制】Java 实现
告警抑制,是指高优先级告警抑制低优先级告警的规则。高优先级告警产生后,低优先级告警不再产生。请根据原始告警列表和告警抑制关系,给出实际产生的告警列表。告警不会传递,比如A->B.B->C,这种情况下A不会直接抑制C。但被抑制的告警仍然可以抑制其他低优先级告警。1:实际上这题还是比较简单的,只要构造出告谨之间的抑制关系,就可以直接遍历每一个id2,给出实际的告警列表。第一行为数字N,表示告警抑制关系个数,0原创 2023-10-08 11:11:46 · 81 阅读 · 0 评论 -
2023华为od机试真题B卷【字符串摘要】Java 实现
则输出: 该字符(小写) 该字母之后字符串中出现的该字符的次数4、对按照以上方式表示后的字符串进行排序: 字母和紧随的数字作为一组进行排序,数字大的在前,数字相同的则按字母进行排序,字母小的在前。第一个b非连续字母,该字母之后字符串中还出现了2次 (最后的两个Bb) ,所以输出b2a连续出现3次,输出a3,c非连续,该字母之后字符串再没有出现过c,输出c0Bb连续2次,输出b2。给定一个字符串的摘要算法,请输出给定字符串的摘要值。,则输出: 该字符 (小) + 连续出现的次数。原创 2023-10-08 11:11:56 · 87 阅读 · 0 评论 -
2023华为od机试真题B卷【字符串化繁为简】JAVA 实现
示例:输入字符串为"never(dont)live(run)up(f)()",初始等效字符集合为(d,o,n,t)、r,u,n),由于等效关系可以传递,因此最终等效字符集合为(d,o,n,t,r,u),将输入字符串里的剩余部分按字典序最小的等效字符替换后得到"devedgivedp。要对这个输入字符串做简化,输出一个新的字符串,输出字符串里只需保留输入字符串里的没有被小括号对包含的字符(按照输入字符串里的字符顺序),并将每个字符替换为在小括号对里包含的目字典序最小的等效字符。输出为1行,代表输出字符串。原创 2023-10-08 11:12:05 · 70 阅读 · 0 评论