华为OD题库
华为OD正版题库
展开
-
华为OD机试D卷——2024预测复用题目录
华为OD机试D卷——2024预测复用题目录原创 2024-04-22 14:50:51 · 2306 阅读 · 0 评论 -
华为OD机试(C、D卷)2024真题目录(全、新、准)
本章为C、D卷题库目录。华为机试有三道题目,第一道和第二道属于简单或中等题,分值为100分,第三道为中等或困难题,分值为200分。总分为400分,150分钟考试时间。OD的工资待遇还是很可观的15K-30K*14-16,希望大家努力。本专栏完全免费,收费是为了防止被爬,订阅专栏后添加客服联系退款(平台抽取部分以及扣税部分不可退),由于平台冻结资金一个月,所以只能次月退款,如4月份可退3月份的订阅,5月份可退4月份订阅。大家收到退款之后可以在评论区发送 “已退款” 支持一下哦!原创 2024-04-07 16:48:00 · 3686 阅读 · 0 评论 -
【免费题库】华为OD机试 - 最小传输时延Ⅱ(Java & JS & Python & C & C++)
## 题目描述有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原创 2024-04-07 15:16:45 · 3200 阅读 · 0 评论 -
【免费题库】华为OD机试 - 字符串比较(Java & JS & Python & C & C++)
## 题目描述给定字符串A、B和正整数V,A的长度与B的长度相等, 请计算A中满足如下条件的最大连续子串的长度:该连续子串在A和B中的位置和长度均相同。该连续子串|A[i] – B[i]|之和小于等于V。其中|A[i] – B[i]|表示两个字母ASCII码之差的绝对值。## 输入描述输入为三行:第一行为字符串A,仅包含小写字符,1原创 2024-04-07 11:10:33 · 2265 阅读 · 0 评论 -
【免费题库】华为OD机试 - 转骰子(Java & JS & Python & C & C++)
## 题目描述骰子是一个立方体,每个面一个数字,初始为左1,右2,前3(观察者方向),后4,上5,下6,用123456表示这个状态,放置在平面上,可以向左翻转(用L表示向左翻转1次),可以向右翻转(用R表示向右翻转1次),可以向前翻转(用F表示向前翻转1次),可以向后翻转(用B表示向后翻转1次),可以逆时针旋转(用A表示逆时针旋转90度),可以顺时针旋转(用C表示顺时针旋转90度),现从123456这个初始状态开始,根据输入的动作序列,计算得到最终的状态。骰子的初始状态和初始状态转动后原创 2024-04-07 11:07:04 · 3284 阅读 · 0 评论 -
华为OD机试 - 求字符串中所有整数的最小和(Java & JS & Python & C & C++)
## 题目描述输入字符串s,输出s中包含所有整数的最小和。## 说明:字符串s,只包含 a-z A-Z ±合法的整数包括1)正整数:一个或者多个0-9组成,如 0 2 3 002 1022)负整数:负号 – 开头,数字部分由一个或者多个0-9组成,如 -0 -012 -23 -00023## 输入描述包含数字的字符串## 输出描述所有整数的最小和原创 2024-03-18 12:08:34 · 4793 阅读 · 0 评论 -
华为OD机试 - 处理器问题(Java & JS & Python & C & C++)
某公司研发了一款高性能AI处理器。每台物理设备具备8颗AI处理器,编号分别为0、1、2、3、4、5、6、7。编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不通链路中的处理器不能通信。如下图所示。现给定服务器可用的处理器编号数组array,以及任务申请的处理器数量num,找出符合下列亲和性调度原则的芯片组合。如果不存在符合要求的组合,则返回空列表。亲和性调度原则:如果申请处理器个数为1,则选择同一链路,剩余可用的处理器数量为1个的最佳,其次是剩余3个的为次佳,然原创 2024-03-18 12:19:03 · 4885 阅读 · 0 评论 -
华为OD机试 - 单向链表中间节点(Java & JS & Python & C & C++)
## 题目描述给定一个单链表 L,请编写程序输出 L 中间结点保存的数据。如果有两个中间结点,则输出第二个中间结点保存的数据。例如:给定 L 为 1→7→5,则输出应该为7;给定 L 为 1→2→3→4,则输出应该为3;输入描述每个输入包含1个测试用例。每个测试用例:第一行给出链表首结点的地址、结点总个数正整数 N (≤ 10^5)。结点的地址是5位非负整数,NULL地址用-1表示。接下来有N行,每行格式位:Address Data Next其中Address是结点地址,原创 2024-03-20 09:34:44 · 3648 阅读 · 0 评论 -
华为OD机试 - 字符串重新排序(Java & JS & Python & C & C++)
## 题目描述给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出:1、单词内部调整:对每个单词字母重新按字典序排序2、单词间顺序调整:1)统计每个单词出现的次数,并按次数降序排列2)次数相同,按单词长度升序排列3)次数和单词长度均相同,按字典升序排列请输出处理后的字符串,每个单词以一个空格分隔。## 输入描述一行字符串,每个字符取值范围:[a-zA-z0-9]以及空格,字符串长度范围:[1,1000]## 输出描述输出处理后的字符串,每个单词以一个原创 2024-03-20 10:14:50 · 3568 阅读 · 1 评论 -
华为OD机试 - 完美走位(Java & JS & Python & C & C++)
## 题目描述在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。假设玩家每按动一次键盘,游戏任务会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏任务必定会回到原点,则称此次走位为完美走位。现给定玩家的走位(例如:ASDA),请通过更换其中一段连续走位的方式使得原走位能够变成一个完美走位。其中待更换的连续走位可以是相同长度的任何走位。请返回待更换的连续走位的最小可能长度。如果原走位本身是原创 2024-03-20 11:18:26 · 3430 阅读 · 0 评论 -
华为OD机试 - 最多颜色的车辆(Java & JS & Python & C & C++)
## 题目描述在一个狭小的路口,每秒只能通过一辆车,假设车辆的颜色只有 3 种,找出 N 秒内经过的最多颜色的车辆数量。三种颜色编号为0 ,1 ,2## 输入描述第一行输入的是通过的车辆颜色信息[0,1,1,2] 代表4 秒钟通过的车辆颜色分别是 0 , 1 , 1 , 2第二行输入的是统计时间窗,整型,单位为秒## 输出描述输出指定时间窗内经过的最多颜色的车辆数量。用例1输入0 1 2 1原创 2024-03-20 11:44:13 · 3756 阅读 · 1 评论 -
华为OD机试 - 不含101的数(Java & JS & Python & C & C++)
## 题目描述小明在学习二进制时,发现了一类不含 101的数,也就是:将数字用二进制表示,不能出现 101 。现在给定一个整数区间 [l,r] ,请问这个区间包含了多少个不含 101 的数?## 输入描述输入的唯一一行包含两个正整数 l, r( 1 ≤ l ≤ r ≤ 10^9)。## 输出描述输出的唯一一行包含一个整数,表示在 [l,r] 区间内一共有几个不含 101 的数。用例1输入1 10输出8说明区间 [1,10] 内, 5 的二进制表示为 101 ,10的二进原创 2024-03-20 11:55:09 · 3488 阅读 · 1 评论 -
华为OD机试 - 租车骑绿岛(Java & JS & Python & C & C++)
## 题目描述部门组织绿岛骑行团建活动。租用公共双人自行车,每辆自行车最多坐两人,最大载重M。给出部门每个人的体重,请问最多需要租用多少双人自行车。## 输入描述第一行两个数字m、n,分别代表自行车限重,部门总人数。第二行,n个数字,代表每个人的体重,体重都小于等于自行车限重m。0原创 2024-03-20 12:01:13 · 3664 阅读 · 0 评论 -
华为OD机试 - 等和子数组最小和(Java & JS & Python & C & C++)
## 题目描述给定一个数组nums,将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,组内元素和的最小值。## 输入描述第一行输入 m接着输入m个数,表示此数组nums数据范围:1原创 2024-03-20 12:08:48 · 3631 阅读 · 0 评论 -
华为OD机试 - 字母组合(Java & JS & Python & C & C++)
## 题目描述每个数字关联多个字母,关联关系如下:0 关联 “a”,”b”,”c”1 关联 “d”,”e”,”f”2 关联 “g”,”h”,”i”3 关联 “j”,”k”,”l”4 关联 “m”,”n”,”o”5 关联 “p”,”q”,”r”6 关联 “s”,”t”7 关联 “u”,”v”8 关联 “w”,”x”9 关联 “y”,”z”输入一串数字后,通过数字和字母的对应关系可以得到多个字母字符串(要求按照数字的顺序组合字母字符串);屏蔽字符串:屏蔽字符串中的所有字母不能同时在原创 2024-03-21 10:06:22 · 2988 阅读 · 0 评论 -
华为OD机试 - 项目排期(Java & JS & Python & C & C++)
## 题目描述项目组共有 N 个开发人员,项目经理接到了 M 个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付。## 输入描述第一行输入为 M 个需求的工作量,单位为天,用逗号隔开。例如:X1 X2 X3 ... Xm表示共有 M 个需求,每个需求的工作量分别为X1天,X2天,...,Xm天。其中:0 < M < 300 < Xm < 20原创 2024-03-21 10:11:38 · 2634 阅读 · 0 评论 -
华为OD机试 - 灰度图存储(Java & JS & Python & C & C++)
## 题目描述黑白图像常采用灰度图的方式存储,即图像的每个像素填充一个灰色阶段值,256阶灰图是一个灰阶值取值范围为 0~255 的灰阶矩阵,0表示全黑,255表示全白,范围内的其他值表示不同的灰度。但在计算机中实际存储时,会使用压缩算法,其中一个种压缩格式描述如如下:10 10 255 34 0 1 255 8 0 3 255 6 0 5 255 4 0 7 255 2 0 9 255 21所有的数值以空格分隔;前两个数分别表示矩阵的行数和列数;从第三个数开始,每两个数一组,每组第一个数原创 2024-03-21 10:16:05 · 3009 阅读 · 0 评论 -
华为OD机试 - 任务处理、可以处理的最大任务数(Java & JS & Python & C & C++)
## 题目描述在某个项目中有多个任务(用task数组表示)需要你进行处理,其中:task[i] = [si, ei]你可以在 si ≤ day ≤ ei 中的任意一天处理该任务,请返回你可以处理的最大任务数。## 输入描述第一行为任务数量 n1 ≤ n ≤ 100000后面 n 行表示各个任务的开始时间和终止时间,使用 si,ei 表示1 ≤ si ≤ ei ≤ 100000## 输出描述输出为一个整数,表示可以处理的最大任务数。原创 2024-03-21 10:19:29 · 3408 阅读 · 3 评论 -
华为OD机试 - 跳马(Java & JS & Python & C & C++)
## 题目描述马是象棋(包括中国象棋和国际象棋)中的棋子,走法是每步直一格再斜一格,即先横着或者直者走一格,然后再斜着走一个对角线,可进可退,可越过河界,俗称"马走日"字。给定 m 行 n 列的棋盘(网格图),棋盘上只有棋子象棋中的棋子“马”,并且每个棋子有等级之分,等级为 k 的马可以跳 1~k 步(走的方式与象棋中“马”的规则一样,不可以超出棋盘位置),问是否能将所有马跳到同一位置,如果存在,输出最少需要的总步数(每匹马的步数相加),不存在则输出-1。注:允许不同的马在跳的过程中跳到同一位置,原创 2024-03-21 10:23:43 · 4526 阅读 · 0 评论 -
华为OD机试 - 路口最短时间问题(Java & JS & Python & C & C++)
## 题目描述假定街道是棋盘型的,每格距离相等,车辆通过每格街道需要时间均为 timePerRoad;街道的街口(交叉点)有交通灯,灯的周期 T(=lights[row][col])各不相同;车辆可直行、左转和右转,其中直行和左转需要等相应 T 时间的交通灯才可通行,右转无需等待。现给出 n * m 个街口的交通灯周期,以及起止街口的坐标,计算车辆经过两个街口的最短时间。其中:起点和终点的交通灯不计入时间,且可以在任意方向经过街口不可超出 n * m 个街口,不可跳跃,但边线也是道路原创 2024-03-21 10:29:38 · 4557 阅读 · 4 评论 -
华为OD机试 - 螺旋数字矩阵(Java & JS & Python & C & C++)
## 题目描述疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,....,n,最终形成一个 m 行矩阵。小明对这个矩阵有些要求:每行数字的个数一样多列的数量尽可能少填充数字时优先填充外部数字不够时,使用单个 * 号占位## 输入描述两个整数,空格隔开,依次表示 n、m## 输出描述符合要求的唯一矩阵原创 2024-03-21 10:34:24 · 4277 阅读 · 1 评论 -
华为OD机试 - 字符串拼接(Java & JS & Python & C & C++)
## 题目描述给定 M(0 < M ≤ 30)个字符(a-z),从中取出任意字符(每个字符只能用一次)拼接成长度为 N(0 < N ≤ 5)的字符串,要求相同的字符不能相邻,计算出给定的字符列表能拼接出多少种满足条件的字符串,输入非法或者无法拼接出满足条件的字符串则返回0。## 输入描述给定的字符列表和结果字符串长度,中间使用空格(" ")拼接## 输出描述满足条件的字符串个数用例1输入abc 1输出3原创 2024-03-21 10:41:54 · 3768 阅读 · 0 评论 -
华为OD机试 - 测试用例执行计划(Java & JS & Python & C & C++)
## 题目描述某个产品当前迭代周期内有 N 个特性(F1,F2,......FN)需要进行覆盖测试,每个特性都被评估了对应的优先级,特性使用其 ID 作为下标进行标识。设计了 M 个测试用例(T1,T2,......,TM),每个测试用例对应一个覆盖特性的集合,测试用例使用其 ID 作为下标进行标识,测试用例的优先级定义为其覆盖的特性的优先级之和。在开展测试之前,需要制定测试用例的执行顺序,规则为:优先级大的用例先执行,如果存在优先级相同的用例,用例 ID 小的先执行。## 输入描述第一行输原创 2024-03-21 10:46:41 · 3861 阅读 · 1 评论 -
华为OD机试 - Wonderland(Java & JS & Python & C & C++)
## 题目描述Wonderland是小王居住地一家很受欢迎的游乐园。Wonderland目前有4种售票方式,分别为一日票(1天)、三日票(3天)、周票(7天)和月票(30天)。每种售票方式的价格由一个数组给出,每种票据在票面时限内可以无限制地进行游玩。例如:小王在第10日买了一张三日票,小王可以在第10日、第11日和第12日进行无限制地游玩。小王计划在接下来一年多次游玩该游乐园。小王计划地游玩日期将由一个数组给出。现在,请您根据给出地售票价格数组和小王计划游玩日期数组,返回游玩计划所需要地原创 2024-03-21 10:50:44 · 3819 阅读 · 0 评论 -
华为OD机试 - 伐木工(Java & JS & Python & C & C++)
## 题目描述一根X米长的树木,伐木工切割成不同长度的木材后进行交易,交易价格为每根木头长度的乘积。规定切割后的每根木头长度都为正整数;也可以不切割,直接拿整根树木进行交易。请问伐木工如何尽量少的切割,才能使收益最大化?## 输入描述木材的长度(X ≤ 50)## 输出描述输出最优收益时的各个树木长度,以空格分隔,按升序排列用例1输入10输出3 3 4说明一根2米长的树木,伐木工不切割,为2 * 1,收益最大为2一根4米长的树木,伐木工不需要切割为2 * 2,省去切割成原创 2024-03-21 10:54:42 · 3889 阅读 · 1 评论 -
华为OD机试 - 寻找最优的路测线路(Java & JS & Python & C & C++)
## 题目描述评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。现给出 R 行 C 列的整数数组 Cov,每个单元格的数值 S 即为该栅格的信号质量(已归一化,无单位,值越大信号越好)。要求从 [0, 0] 到 [R-1, C-1]设计一条最优路测路线。返回该路线得分。规则:路测路线可以上下左右四个方向,不能对角路线的评分是以路线上信号最差的栅格为准的,例如路径 8→4→5→9原创 2024-03-21 11:00:24 · 3836 阅读 · 0 评论 -
华为OD机试 - 火星文计算2(Java & JS & Python & C & C++)
## 题目描述已知火星人使用的运算符为#、$,其与地球人的等价公式如下:x#y = 4*x+3*y+2x$y = 2*x+y+3其中 x、y 是无符号整数地球人公式按C语言规则计算火星人公式中,#的优先级高于$,相同的运算符,按从左到右的顺序计算现有一段火星人的字符串报文,请你来翻译并计算结果。## 输入描述火星人字符串表达式(结尾不带回车换行)输入的字符串说明: 字符串为仅由无符号整数和操作符(#、$)组成的计算表达式。例如:123#4$5#67$78用例保证字符串中,操原创 2024-03-21 11:03:58 · 3936 阅读 · 0 评论 -
华为OD机试 - 最大社交距离(Java & JS & Python & C & C++)
## 题目描述疫情期间需要大家保证一定的社交距离,公司组织开交流会议。座位一排共 N 个座位,编号分别为 [0, N - 1] 。要求员工一个接着一个进入会议室,并且可以在任何时候离开会议室。满足:每当一个员工进入时,需要坐到最大社交距离(最大化自己和其他人的距离的座位);如果有多个这样的座位,则坐到索引最小的那个座位。## 输入描述会议室座位总数 seatNum1 ≤ seatNum ≤ 500员工的进出顺序 seatOrLeave 数组元素值为 1,表示进场元素值为原创 2024-03-21 14:52:15 · 3639 阅读 · 0 评论 -
华为OD机试 - 贪心歌手(Java & JS & Python & C & C++)
## 题目描述一个歌手准备从A城去B城参加演出。按照合同,他必须在 T 天内赶到歌手途经 N 座城市歌手不能往回走每两座城市之间需要的天数都可以提前获知。歌手在每座城市都可以在路边卖唱赚钱。经过调研,歌手提前获知了每座城市卖唱的收入预期: 如果在一座城市第一天卖唱可以赚M,后续每天的收入会减少D(第二天赚的钱是 M - D,第三天是 M - 2D ...)。如果收入减少到 0 就不会再少了。歌手到达后的第二天才能开始卖唱。如果今天卖过唱,第二天才能出发。贪心的歌手最多可以赚原创 2024-03-21 15:08:55 · 3668 阅读 · 0 评论 -
华为OD机试 - 矩阵匹配(Java & JS & Python & C & C++)
## 题目描述从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。## 输入描述输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150输入格式:N M KN*M矩阵## 输出描述N*M 的矩阵中可以选出 M! / N! 种组合数组,每个组合数组种第 K 大的数中的最小值。无需考虑重复数字,直接取字典排序结果即可。备注注意:结果是第 K 大的数字的最小值用例1输入3 4 21 5原创 2024-03-22 10:50:25 · 3419 阅读 · 0 评论 -
华为OD机试 - 最小矩阵宽度(Java & JS & Python & C & C++)
## 题目描述给定一个矩阵,包含 N * M 个整数,和一个包含 K 个整数的数组。现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。## 输入描述第一行输入两个正整数 N,M,表示矩阵大小。接下来 N 行 M 列表示矩阵内容。下一行包含一个正整数 K。下一行包含 K 个整数,表示所需包含的数组,K 个整数可能存在重复数字。所有输入数据小于1000。## 输出描述输出包含一个整数,表示满足要求子矩阵的最小宽度,若找不到,输出-1。用例1输入原创 2024-03-22 10:55:57 · 3378 阅读 · 0 评论 -
华为OD机试 - 启动多任务排序(Java & JS & Python & C & C++)
## 题目描述一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。例如:B任务依赖A任务,C任务依赖A任务,D任务依赖B任务和C任务,同时,D任务还依赖E任务。那么执行任务的顺序由先到后是:A任务,E任务,B任务,C任务,D任务这原创 2024-03-22 11:09:57 · 3304 阅读 · 0 评论 -
华为OD机试 - 加密算法、特殊的加密算法(Java & JS & Python & C & C++)
## 题目描述有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下:明文为一段数字串由 0~9 组成密码本为数字 0~9 组成的二维数组需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。每一位明文对应密文即为密码本中找到的单元格所在的行和列序号(序号从0开始)组成的两个数宇。如明文第 i 位 Data[i] 对应密码本单元格为 Bo原创 2024-03-22 11:14:13 · 3250 阅读 · 0 评论 -
华为OD机试 - 田忌赛马(Java & JS & Python & C & C++)
## 题目描述给定两个只包含数字的数组a,b,调整数组 a 里面的数字的顺序,使得尽可能多的a[i] > b[i]。数组a和b中的数字各不相同。输出所有可以达到最优结果的a数组的结果。## 输入描述输入的第一行是数组 a 中的数字,其中只包含数字,每两个数字之间相隔一个空格,a数组大小不超过10。输入的第二行是数组 b 中的数字,其中只包含数字,每两个数字之间相隔一个空格,b数组大小不超过10。## 输出描述输出所有可以达到最优结果的 a 数组的数量。用例1输入11 8 2原创 2024-03-22 11:21:52 · 3476 阅读 · 0 评论 -
华为OD机试 - 抢7游戏(Java & JS & Python & C & C++)
## 题目描述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能赢得比赛的组合次数用例1输入10输出1说明只有一种赢的组合,A起始选择10,B接着选择9,A接着选原创 2024-03-22 11:25:26 · 3420 阅读 · 2 评论 -
华为OD机试 - 导师请吃火锅(Java & JS & Python & C & C++)
## 题目描述入职后,导师会请你吃饭,你选择了火锅。火锅里会在不同时间下很多菜。不同食材要煮不同的时间,才能变得刚好合适。你希望吃到最多的刚好合适的菜,但你的手速不够快,用m代表手速,每次下手捞菜后至少要过m秒才能再捞(每次只能捞一个)。那么用最合理的策略,最多能吃到多少刚好合适的菜?## 输入描述第一行两个整数n,m,其中n代表往锅里下的菜的个数,m代表手速。(1 < n, m < 1000)接下来有n行,每行有两个数x,y代表第x秒下的菜过y秒才能变得刚好合适。(1 < x,原创 2024-03-22 11:28:55 · 3257 阅读 · 0 评论 -
华为OD机试 - 运输时间(Java & JS & Python & C & C++)
## 题目描述M(1 ≤ M ≤ 20)辆车需要在一条不能超车的单行道到达终点,起点到终点的距离为 N(1 ≤ N ≤ 400)。速度快的车追上前车后,只能以前车的速度继续行驶,求最后一辆车到达目的地花费的时间。注:每辆车固定间隔 1 小时出发,比如第一辆车 0 时出发,第二辆车 1 时出发,依次类推## 输入描述第一行两个数字:M N,分别代表车辆数和到终点的距离,以空格分隔接下来 M 行,每行一个数字 S,代表每辆车的速度。0 < S < 30## 输出描述最后一辆车到达目的地原创 2024-03-22 11:33:27 · 3289 阅读 · 0 评论 -
华为OD机试 - 篮球游戏(Java & JS & Python & C & C++)
## 题目描述幼儿园里有一个放倒的圆桶,它是一个线性结构,允许在桶的右边将篮球放入,可以在桶的左边和右边将篮球取出。每个篮球有单独的编号,老师可以连续放入一个或多个篮球,小朋友可以在桶左边或右边将篮球取出,当桶只有一个篮球的情况下,必须从左边取出。如老师按顺序放入1、2、3、4、5 共有 5 个编号的篮球,那么小朋友可以依次取出编号为1、2、3、4、5 或者 3、1、2、4、5 编号的篮球,无法取出 5、1、3、2、4 编号的篮球。其中 3、1、2、4、5 的取出场景为:连续放入1、2、3原创 2024-03-22 11:38:59 · 3263 阅读 · 2 评论 -
华为OD机试 - 智能驾驶(Java & JS & Python & C & C++)
## 题目描述有一辆汽车需要从 m * n 的地图左上角(起点)开往地图的右下角(终点),去往每一个地区都需要消耗一定的油量,加油站可进行加油。请你计算汽车确保从从起点到达终点时所需的最少初始油量。说明:智能汽车可以上下左右四个方向移动地图上的数字取值是 0 或 -1 或 正整数:-1 :表示加油站,可以加满油,汽车的油箱容量最大为100;0 :表示这个地区是障碍物,汽车不能通过正整数:表示汽车走过这个地区的耗油量如果汽车无论如何都无法到达终点,则返回 -1## 输入描述第一行为原创 2024-03-22 11:45:33 · 3436 阅读 · 0 评论 -
华为OD机试 - 矩阵匹配(Java & JS & Python & C & C++)
## 题目描述从一个 N * M(N ≤ M)的矩阵中选出 N 个数,任意两个数字不能在同一行或同一列,求选出来的 N 个数中第 K 大的数字的最小值是多少。## 输入描述输入矩阵要求:1 ≤ K ≤ N ≤ M ≤ 150输入格式:N M KN*M矩阵## 输出描述N*M 的矩阵中可以选出 M! / N! 种组合数组,每个组合数组种第 K 大的数中的最小值。无需考虑重复数字,直接取字典排序结果即可。备注注意:结果是第 K 大的数字的最小值用例1输入3 4 21 5原创 2024-03-22 11:45:47 · 3395 阅读 · 0 评论