华为OD题库
华为OD正版题库
展开
-
华为OD机试D卷——2024预测复用题目录
华为OD机试D卷——2024预测复用题目录原创 2024-04-22 14:50:51 · 2665 阅读 · 2 评论 -
华为OD机试(C、D卷)2024真题目录(全、新、准)
OD的工资待遇还是很可观的15K-30K*14-16,希望大家努力。【免费题库】华为OD机试C卷 - 在字符串中找出连续最长的数字串(含“+-”号)(Java 代码+解析)【免费题库】华为OD机试C卷 - 输出指定字母在字符串的中的索引(Java 代码+解析)【免费题库】华为OD机试C卷 - 最长子字符串的长度(二)(Java 代码+解析)【免费题库】华为OD机试C卷 - 最长子字符串的长度(二)(Java 代码+解析)【免费题库】华为OD机试C卷 - 最长子字符串的长度(一)(Java 代码+解析)原创 2024-04-22 11:27:48 · 2157 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 最长子字符串的长度(二)(Java 代码+解析)
## 题目描述给你一个字符串 s,字符串 s 首尾相连成一个环形,请你在环中找出 'l'、'o'、'x' 字符都恰好出现了偶数次最长子字符串的长度。## 输入描述输入是一串小写的字母组成的字符串## 输出描述输出是一个整数备注1 ≤ s.length ≤ 5 * 10^5s 只包含小写英文字母## 用例输入 alolobo输出 6说明 最长子字符串之一是 "alolob",它包含 'l','o' 各2个,以及 0 个 'x'。输入 looxdolx输出 7说明 最长的子字原创 2024-04-22 10:26:50 · 2053 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 最小矩阵宽度(Java 代码+解析)
题目描述给定一个矩阵,包含 N * M 个整数,和一个包含 K 个整数的数组。现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。## 输入描述第一行输入两个正整数 N,M,表示矩阵大小。接下来 N 行 M 列表示矩阵内容。下一行包含一个正整数 K。下一行包含 K 个整数,表示所需包含的数组,K 个整数可能存在重复数字。所有输入数据小于1000。## 输出描述输出包含一个整数,表示满足要求子矩阵的最小宽度,若找不到,输出-1。## 用例输入 2原创 2024-04-22 10:22:19 · 2102 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 最小传输时延Ⅱ(Java 代码+解析)
题目描述有M*N的节点矩阵,每个节点可以向8个方向(上、下、左、右及四个斜线方向)转发数据包,每个节点转发时会消耗固定时延,连续两个相同时延可以减少一个时延值(即当有K个相同时延的节点连续转发时可以减少K- 1个时延值),求左上角(0,0)开始转发数据包到右下角(M-1,N- 1)并转发出的最短时延。## 输入描述第一行两个数字,M、N,接下来有M行,每行有N个数据,表示M* N的矩阵。## 输出描述最短时延值。## 用例输入 3 30 2 21 2 12 2 1输出 3说原创 2024-04-22 10:14:43 · 2139 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 最大社交距离(Java 代码+解析)
题目描述疫情期间需要大家保证一定的社交距离,公司组织开交流会议。座位一排共 N 个座位,编号分别为 [0, N - 1] 。要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。满足:每当一个员工进入时,需要坐到最大社交距离(最大化自己和其他人的距离的座位);如果有多个这样的座位,则坐到索引最小的那个座位。## 输入描述会议室座位总数 seatNum1 ≤ seatNum ≤ 500员工的进出顺序 seatOrLeave 数组元素值为 1,表示进场元素值为负数,表原创 2024-04-22 10:12:34 · 2124 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 字符串拼接(Java 代码+解析)
题目描述给定 M(0 < M ≤ 30)个字符(a-z),从中取出任意字符(每个字符只能用一次)拼接成长度为 N(0 < N ≤ 5)的字符串,要求相同的字符不能相邻,计算出给定的字符列表能拼接出多少种满足条件的字符串,输入非法或者无法拼接出满足条件的字符串则返回0。## 输入描述给定的字符列表和结果字符串长度,中间使用空格(" ")拼接## 输出描述满足条件的字符串个数## 用例输入 abc 1输出 3说明 给定的字符为a,b,c,结果字符串长度为1,可以拼接成a,b,c,原创 2024-04-22 10:09:53 · 2406 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 字符串比较(Java 代码+解析)
题目描述给定字符串A、B和正整数V,A的长度与B的长度相等, 请计算A中满足如下条件的最大连续子串的长度:该连续子串在A和B中的位置和长度均相同。该连续子串|A[i] – B[i]|之和小于等于V。其中|A[i] – B[i]|表示两个字母ASCII码之差的绝对值。## 输入描述输入为三行:第一行为字符串A,仅包含小写字符,1原创 2024-04-22 10:07:42 · 2023 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 中文分词模拟器(Java 代码+解析)
题目描述给定一个连续不包含空格的字符串,该字符串仅包含英文小写字母及英文标点符号(逗号、分号、句号),同时给定词库,对该字符串进行精确分词。说明:精确分词:字符串分词后,不会出现重叠。即"ilovechina",不同词库可分割为"i,love,china","ilove,china",不能分割出现重叠的"i,ilove,china",i 出现重叠标点符号不成词,仅用于断句词库:根据外部知识库统计出来的常用词汇例:dictionary = ["i", "love", "china", "love原创 2024-04-22 10:04:46 · 2232 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 智能驾驶(Java 代码+解析)
题目描述有一辆汽车需要从 m * n 的地图左上角(起点)开往地图的右下角(终点),去往每一个地区都需要消耗一定的油量,加油站可进行加油。请你计算汽车确保从从起点到达终点时所需的最少初始油量。说明:智能汽车可以上下左右四个方向移动地图上的数字取值是 0 或 -1 或 正整数: -1 :表示加油站,可以加满油,汽车的油箱容量最大为100; 0 :表示这个地区是障碍物,汽车不能通过正整数:表示汽车走过这个地区的耗油量 如果汽车无论如何都无法到达终点,则返回原创 2024-04-22 10:02:38 · 2374 阅读 · 1 评论 -
【免费题库】华为OD机试C卷 - 找数字(Java 代码+解析)
题目描述小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数 n(1 ≤ n ≤ 1e9),小扇需要找到一个比 n 大的数字 m,使得 m 和 n 对应的二进制中 1 的个数要相同,如:4对应二进制1008对应二进制1000其中1的个数都为1个现在求 m 的最小值。## 输入描述输入一个正整数 n(1 ≤ n ≤ 1e9)## 输出描述输出一个正整数 m## 用例输入 2输出 4说明 2的二进制10,4的二进制位100,1的个数相同,且4是满足条件的最原创 2024-04-22 09:56:40 · 2136 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 找到比自己强的人数(Java 代码+解析)
题目描述给定数组[[2,1],[3 2]],每组表示师徒关系,第一个元素是第二个元素的老师,数字代表排名,现在找出比自己强的徒弟。## 输入描述无## 输出描述无## 用例输入 [[2,1],[3,2]]输出 [0,1,2]说明 输入:第一行数据[2,1]表示排名第 2 的员工是排名第 1 员工的导师,后面的数据以此类推。输出:第一个元素 0 表示成绩排名第一的导师,没有徒弟考试超过他;第二个元素 1 表示成绩排名第二的导师,有 1 个徒弟成绩超过他第三个元素 2原创 2024-04-21 12:14:38 · 2265 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 找单词(Java 代码+解析)
题目描述给一个字符串和一个二维字符数组,如果该字符串存在于该数组中,则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串,如果找不到返回字符串“N”。1.需要按照字符串的字符组成顺序搜索,且搜索到的位置必须是相邻单元格,其中“相邻单元格”是指那些水平相邻或垂直相邻的单元格。2.同一个单元格内的字母不允许被重复使用。3.假定在数组中最多只存在一个可能的匹配。## 输入描述第1行为一个数字N指示二维数组在后续输入所占的行数。第2行到第N+1行输入为一个二维大写字符数组,每行原创 2024-04-21 12:12:08 · 2267 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 找城市(Java 代码+解析)
题目描述一张地图上有n个城市,城市和城市之间有且只有一条道路相连:要么直接相连,要么通过其它城市中转相连(可中转一次或多次)。城市与城市之间的道路都不会成环。当切断通往某个城市 i 的所有道路后,地图上将分为多个连通的城市群,设该城市i的聚集度为DPi(Degree of Polymerization),DPi = max(城市群1的城市个数,城市群2的城市个数,…城市群m 的城市个数)。请找出地图上DP值最小的城市(即找到城市j,使得DPj = min(DP1,DP2 … DPn))提示:如原创 2024-04-21 12:10:15 · 2265 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 运输时间(Java 代码+解析)
题目描述M(1 ≤ M ≤ 20)辆车需要在一条不能超车的单行道到达终点,起点到终点的距离为 N(1 ≤ N ≤ 400)。速度快的车追上前车后,只能以前车的速度继续行驶,求最后一辆车到达目的地花费的时间。注:每辆车固定间隔 1 小时出发,比如第一辆车 0 时出发,第二辆车 1 时出发,依次类推## 输入描述第一行两个数字:M N,分别代表车辆数和到终点的距离,以空格分隔接下来 M 行,每行一个数字 S,代表每辆车的速度。0 < S < 30## 输出描述最后一辆车到达目的地花费的原创 2024-04-21 12:07:48 · 446 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 员工派遣(Java 代码+解析)
题目描述某公司部门需要派遣员工去国外做项目。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工。部门每个员工有一个员工号(1,2,3,......),工号连续,从1开始。部长派遣员工的规则:规则1:从 [1, k] 中选择员工派遣出去规则2:编号为 x 的倍数的员工不能去 x 国,编号为 y 的倍数的员工不能去 y 国。问题:找到最小的 k,使得可以将编号在 [1, k] 中的员工分配给 x 国和 y 国,且满足 x 国和 y 国的需求。##原创 2024-04-21 12:05:53 · 2253 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 寻找最优的路测线路(Java 代码+解析)
题目描述评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。现给出 R 行 C 列的整数数组 Cov,每个单元格的数值 S 即为该栅格的信号质量(已归一化,无单位,值越大信号越好)。要求从 [0, 0] 到 [R-1, C-1]设计一条最优路测路线。返回该路线得分。规则:路测路线可以上下左右四个方向,不能对角路线的评分是以路线上信号最差的栅格为准的,例如路径 8→4→5→9 的值为原创 2024-04-21 12:03:10 · 2271 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 信道分配(Java 代码+解析)
题目描述算法工程师小明面对着这样一个问题 ,需要将通信用的信道分配给尽量多的用户:信道的条件及分配规则如下:所有信道都有属性:”阶”。阶为 r的信道的容量为 2^r比特;所有用户需要传输的数据量都一样:D比特;一个用户可以分配多个信道,但每个信道只能分配给一个用户;只有当分配给一个用户的所有信道的容量和>=D,用户才能传输数据;给出一组信道资源,最多可以为多少用户传输数据?## 输入描述第一行,一个数字 R。R为最大阶数。0原创 2024-04-21 12:00:20 · 2274 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 小朋友分组最少调整次数(Java 代码+解析)
题目描述n 个学生排成一排,学生编号分别是 1 到 n,n 为 3 的整倍数。老师随机抽签决定将所有学生分成 m 个 3 人的小组(n == 3 * m) ,为了便于同组学生交流,老师决定将小组成员安排到一起,也就是同组成员彼此相连,同组任意两个成员之间无其它组的成员。因此老师决定调整队伍,老师每次可以调整任何一名学生到队伍的任意位置,计为调整了一次, 请计算最少调整多少次可以达到目标。注意:对于小组之间没有顺序要求,同组学生之间没有顺序要求。## 输入描述第一行输入初始排队顺序序列原创 2024-04-21 11:58:22 · 2279 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 项目排期(Java 代码+解析)
题目描述项目组共有 N 个开发人员,项目经理接到了 M 个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。## 输入描述第一行输入为 M 个需求的工作量,单位为天,用逗号隔开。例如:X1 X2 X3 ... Xm表示共有 M 个需求,每个需求的工作量分别为X1天,X2天,...,Xm天。其中:0 < M < 300 < Xm < 200第原创 2024-04-21 11:56:48 · 2286 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 污染水域(Java 代码+解析)
题目描述输入一行字符串,字符串可转换为N*N的数组,数组可认为是一个水域,判断多少天后,水域被全部污染。数组中只有0和1,0表示纯净,1表示污染,每天只可污染上下左右的水域,如果开始全部被污染,或永远无法污染,则返回-1。## 输入描述无## 输出描述无## 用例输入 1,0,1,0,0,0,1,0,1输出 2说明 输入转化为数组为:1 0 10 0 01 0 1第一天后水域变为1 1 11 0 11 1 1第二天全部被污染输入 0,0,0,0输出 -原创 2024-04-21 11:54:05 · 2259 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 文件缓存系统(Java 代码+解析)
题目描述请设计一个文件缓存系统,该文件缓存系统可以指定缓存的最大值(单位为字节)。文件缓存系统有两种操作:存储文件(put)读取文件(get)操作命令为:put fileName fileSizeget fileName存储文件是把文件放入文件缓存系统中;读取文件是从文件缓存系统中访问已存在,如果文件不存在,则不作任何操作。当缓存空间不足以存放新的文件时,根据规则删除文件,直到剩余空间满足新的文件大小位置,再存放新文件。具体的删除规则为:文件访问过后,会更新文件的最近访原创 2024-04-21 11:51:52 · 2281 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 文本统计分析(Java 代码+解析)
题目描述有一个文件,包含以一定规则写作的文本,请统计文件中包含的文本数量。规则如下:1. 文本以”;”分隔,最后一条可以没有”;”,但空文本不能算语句,比如”COMMAND A; ;”只能算一条语句。注意,无字符/空白字符/制表符都算作”空”文本;2. 文本可以跨行,比如下面,是一条文本,而不是三条;COMMAND AANDCOMMAND B;3. 文本支持字符串,字符串为成对的单引号(')或者成对的双引号("),字符串可能出现用转义字符(\)处理的单双引号("your inp原创 2024-04-21 11:49:43 · 2276 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 跳马(Java 代码+解析)
题目描述马是象棋(包括中国象棋和国际象棋)中的棋子,走法是每步直一格再斜一格,即先横着或者直者走一格,然后再斜着走一个对角线,可进可退,可越过河界,俗称"马走日"字。给定 m 行 n 列的棋盘(网格图),棋盘上只有棋子象棋中的棋子“马”,并且每个棋子有等级之分,等级为 k 的马可以跳 1~k 步(走的方式与象棋中“马”的规则一样,不可以超出棋盘位置),问是否能将所有马跳到同一位置,如果存在,输出最少需要的总步数(每匹马的步数相加),不存在则输出-1。注:允许不同的马在跳的过程中跳到同一位置,坐标为原创 2024-04-21 11:47:43 · 2267 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 跳格子3(Java 代码+解析)
题目描述小明和朋友们一起玩跳格子游戏,每个格子上有特定的分数 score = [1, -1, -6, 7, -17, 7],从起点score[0]开始,每次最大的步长为k,请你返回小明跳到终点 score[n-1] 时,能得到的最大得分。## 输入描述第一行输入总的格子数量 n第二行输入每个格子的分数 score[i]第三行输入最大跳的步长 k## 输出描述输出最大得分备注格子的总长度 n 和步长 k 的区间在 [1, 100000]每个格子的分数 score[i] 在原创 2024-04-21 11:45:53 · 2284 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 田忌赛马(Java 代码+解析)
题目描述给定两个只包含数字的数组a,b,调整数组 a 里面的数字的顺序,使得尽可能多的a[i] > b[i]。数组a和b中的数字各不相同。输出所有可以达到最优结果的a数组的结果。## 输入描述输入的第一行是数组 a 中的数字,其中只包含数字,每两个数字之间相隔一个空格,a数组大小不超过10。输入的第二行是数组 b 中的数字,其中只包含数字,每两个数字之间相隔一个空格,b数组大小不超过10。## 输出描述输出所有可以达到最优结果的 a 数组的数量。## 用例输入 11 8 20原创 2024-04-21 11:35:33 · 2240 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 特殊的加密算法(Java 代码+解析)
题目描述有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下:明文为一段数字串由 0~9 组成密码本为数字 0~9 组成的二维数组需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。每一位明文对应密文即为密码本中找到的单元格所在的行和列序号(序号从0开始)组成的两个数宇。如明文第 i 位 Data[i] 对应密码本单元格为 Book[x][原创 2024-04-20 09:29:17 · 433 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 贪心歌手(Java 代码+解析)
题目描述一个歌手准备从A城去B城参加演出。按照合同,他必须在 T 天内赶到歌手途经 N 座城市歌手不能往回走每两座城市之间需要的天数都可以提前获知。歌手在每座城市都可以在路边卖唱赚钱。经过调研,歌手提前获知了每座城市卖唱的收入预期:如果在一座城市第一天卖唱可以赚M,后续每天的收入会减少D(第二天赚的钱是 M - D,第三天是 M - 2D ...)。如果收入减少到 0 就不会再少了。歌手到达后的第二天才能开始卖唱。如果今天卖过唱,第二天才能出发。贪心的歌手最多可以赚多少钱?##原创 2024-04-20 09:26:58 · 2393 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 贪吃的猴子(Java 代码+解析)
题目描述一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,每次都只能从行的开头或者末尾获取,并且只能获取N次,求猴子最多能获取多少根香蕉。## 输入描述第一行为数组numbers的长度第二行为数组numbers的值每个数字通过空格分开第三行输入为N,表示获取的次数## 输出描述按照题目要求能获取的最大数值备注1 ≤ numbers.length ≤ 1000001 ≤ numbers ≤ 10原创 2024-04-20 09:23:10 · 2388 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 数组二叉树(Java 代码+解析)
题目描述二叉树也可以用数组来存储,给定一个数组,树的根节点的值存储在下标1,对于存储在下标N的节点,它的左子节点和右子节点分别存储在下标2*N和2*N+1,并且我们用值-1代表一个节点为空。给定一个数组存储的二叉树,试求从根节点到最小的叶子节点的路径,路径由节点的值组成。## 输入描述输入一行为数组的内容,数组的每个元素都是正整数,元素间用空格分隔。注意第一个元素即为根节点的值,即数组的第N个元素对应下标N,下标0在树的表示中没有使用,所以我们省略了。输入的树最多为7层。## 输出描原创 2024-04-20 09:20:33 · 2389 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 数字排列(Java 代码+解析)
题目描述小明负责公司年会,想出一个趣味游戏:屏幕给出 1 ~ 9 中任意 4 个不重复的数字,大家以最快时间给出这几个数字可拼成的数字从小到大排列位于第 N 位置的数字,其中 N 为给出数字中最大的(如果不到这么多数字则给出最后一个即可)。注意:2 可以当作 5 来使用,5 也可以当作 2 来使用进行数字拼接,且屏幕不能同时给出 2 和 5;6 可以当作 9 来使用,9 也可以当作 6 来使用进行数字拼接,且屏幕不能同时给出 6 和 9。如给出:1,4,8,7,则可以拼接的数字为:1,原创 2024-04-20 09:18:54 · 2390 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 任务最优调度(Java 代码+解析)
题目描述给定一个正整数数组表示待系统执行的任务列表,数组的每一个元素代表一个任务,元素的值表示该任务的类型。请计算执行完所有任务所需的最短时间。任务执行规则如下:任务可以按任意顺序执行,且每个任务执行耗时间均为1个时间单位。两个同类型的任务之间必须有长度为N个单位的冷却时间,比如N为2时,在时间K执行了类型3的任务,那么K+1和K+2两个时间不能执行类型3任务。系统在任何一个单位时间内都可以执行一个任务,或者等待状态。说明:数组最大长度为1000,数组最大值1000。## 输入描述原创 2024-04-20 09:15:48 · 2391 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 亲子游戏(Java 代码+解析)
题目描述宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障碍物的格子,只能上下左右走。请问妈妈在最短到达宝宝位置的时间内最多拿到多少糖果(优先考虑最短时间到达的情况下尽可能多拿糖果)。## 输入描述第一行输入为 N,N 表示二维矩阵的大小之后 N 行,每行有 N 个值,表格矩阵每个位置的值,其原创 2024-04-20 09:13:49 · 2404 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 抢7游戏(Java 代码+解析)
题目描述A、B两个人玩抢7游戏,游戏规则为:A先报一个起始数字 X(10 ≤ 起始数字 ≤ 10000),B报下一个数字 Y (X - Y < 3),A再报一个数字 Z(Y - Z < 3),以此类推,直到其中一个抢到7,抢到7即为胜者;在B赢得比赛的情况下,一共有多少种组合?## 输入描述起始数字 M10 ≤ M ≤ 10000如:100## 输出描述B能赢得比赛的组合次数## 用例输入 10输出 1说明 无## 解题思路:1. 首先,我们需要判断B是否能赢原创 2024-04-20 09:11:43 · 2372 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 启动多任务排序(Java 代码+解析)
题目描述一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。例如:B任务依赖A任务,C任务依赖A任务,D任务依赖B任务和C任务,同时,D任务还依赖E任务。那么执行任务的顺序由先到后是:A任务,E任务,B任务,C任务,D任务这里A和原创 2024-04-20 09:07:12 · 2362 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 模拟目录管理功能(Java 代码+解析)
题目描述实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。支持命令:创建目录命令:mkdir 目录名称,如 mkdir abc 为在当前目录创建abc目录,如果已存在同名目录则不执行任何操作。此命令无输出。进入目录命令:cd 目录名称,如 cd abc 为进入abc目录,特别地,cd .. 为返回上级目录,如果目录不存在则不执行任何操作。此命令无输出。查看当前所在路径命令:pwd,输出当前路径字符串。约束:目录名称仅支持小写字母;mkdir 和 cd 命令的参数原创 2024-04-20 09:02:42 · 2386 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 迷宫问题(Java 代码+解析)
题目描述定义一个二维数组 N*M ,如 5 × 5 数组下所示:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。入口点为[0,0],既第一格是可以走的路。数据范围: 2≤n,m≤10 , 输入的内容只包含 0≤val≤1。## 输入描原创 2024-04-20 09:00:53 · 2372 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 没有回文串(Java 代码+解析)
题目描述回文串的定义:正读和反读都一样的字符串。现在已经存在一个不包含回文串的字符串,字符串的字符都是在英语字母的前N个,且字符串不包含任何长度大于等于2的回文串;请找出下一个字典序的不包含回文串的、字符都是在英语字母的前N个、且长度相同的字符串。如果不存在,请输出NO。## 输入描述输入包括两行。第一行有一个整数:N(1原创 2024-04-20 08:53:32 · 2331 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 路口最短时间问题(Java 代码+解析)
题目描述假定街道是棋盘型的,每格距离相等,车辆通过每格街道需要时间均为 timePerRoad;街道的街口(交叉点)有交通灯,灯的周期 T(=lights[row][col])各不相同;车辆可直行、左转和右转,其中直行和左转需要等相应 T 时间的交通灯才可通行,右转无需等待。现给出 n * m 个街口的交通灯周期,以及起止街口的坐标,计算车辆经过两个街口的最短时间。其中:起点和终点的交通灯不计入时间,且可以在任意方向经过街口不可超出 n * m 个街口,不可跳跃,但边线也是道路(即原创 2024-04-20 08:47:33 · 2385 阅读 · 0 评论 -
【免费题库】华为OD机试C卷 - 连续出牌数量(Java 代码+解析)
题目描述有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红、黄、蓝、绿中的一种,数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出,接下来如果玩家手中有和他上一次打出的手牌颜色或者数字相同的手牌,他可以继续将该手牌打出,直至手牌打光或者没有符合条件可以继续打出的手牌。现给定一副手牌,请找到最优的出牌策略,使打出的手牌最多。## 输入描述输入为两行第一行是每张手牌的数字,数字由空格分隔,第二行为对应的每张手牌的颜色,用r y b g这4个字母分别代表4种颜色,字母也由空格分隔。原创 2024-04-20 08:44:32 · 2345 阅读 · 0 评论