2024剑指offer
博主10+年互联网大厂经验,精通多种编程语言,乐于分享面试经验。
展开
-
2024华为OD机试真题-箱子之字形摆放(Python)-E卷A卷-100分
有一批箱子(形式为字符串,设为str),要求将这批箱子按从上到下以之字形的顺序摆放在宽度为 n 的空地,请输出箱子的摆放位置。例如:箱子ABCDEFG,空地宽度为3,摆放结果如图:原创 2023-04-14 23:11:48 · 205 阅读 · 0 评论 -
2024华为OD机试真题-火星文计算2(Python)-E卷D卷-100分
已知火星人使用的运算符为#、$,其与地球人的等价公式如下:x#y=4*x+3*y+2x$y= 2*x+y+3其中 x、y 是无符号整数,地球人公式按C语言规则计算,火星人公式中,#的优先级高于$,相同的运算符,按从左到右的顺序计算现有一段火星人的字符串报文,请你来翻译并计算结果。原创 2025-03-16 22:45:20 · 38 阅读 · 0 评论 -
2024华为OD机试真题-悄悄话花费的时间-(Python)-OD统一考试(E卷D卷)100分
给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节点上的人都接收到悄悄话花费的时间。原创 2025-03-10 22:19:53 · 256 阅读 · 0 评论 -
2024华为OD机试真题-查找接口成功率最优时间段-(Python)-E卷D卷-100分
服务之间交换的接口成功率作为服务调用关键质量特性,某个时间段内的接口失败率使用一个数组表示,数组中每个元素都是单位时间内失败率数值,数组中的数值为0~100的整数,给定一个数值(minAverageLost)表示某个时间段内平均失败率容忍值,即平均失败率小于等于minAverageLost,原创 2024-06-13 23:05:22 · 99 阅读 · 0 评论 -
2024华为OD机试真题-游戏分组、王者荣耀-(python)-E卷C卷D卷-100分
部门准备举办一场王者荣耀表演赛,有 10 名游戏爱好者参与,分 5 为两队,每队 5 人。每位参与者都有一个评分,代表着他的游戏水平。为了表演赛尽可能精彩,我们需要把 10 名参赛者分为实力尽量相近的两队。一队的实力可以表示为这一队 5 名队员的评分总和。原创 2025-02-24 19:17:34 · 106 阅读 · 0 评论 -
2024华为OD机试真题-we are a team(Python)-E卷B卷-100分
总共有 n 个人在机房,每个人有一个标号他们分成了多个团队,需要你根据收到的 m 条消息判定指定的两个人是否在一个团队中,具体的:消息构成为 a b c,整数 a、b 分别代表两个人的标号,整数 c 代表指令c == 0 代表 a 和 b 在一个团队内原创 2025-02-21 06:45:00 · 20 阅读 · 0 评论 -
2024华为OD机试真题-水仙花数Ⅰ(Python)-E卷B卷-100分
所谓水仙花数,是指一个n位的正整数,其各位数字的n次方和等于该数本身。例如153是水仙花数,153是一个3位数,并且153 = 1^3 + 5^3 + 3^3。原创 2025-02-19 13:30:00 · 22 阅读 · 0 评论 -
2024华为OD机试真题-单词接龙(Python)-E卷B卷-100分
单词接龙的规则是:可用于接龙的单词首字母必须要前一个单词的尾字母相同;当存在多个首字母相同的单词时,取长度最长的单词,如果长度也相等,则取字典序最小的单词;已经参与接龙的单词不能重复使用。现给定一组全部由小写字母组成单词数组,并指定其中的一个单词作为起始单词,进行单词接龙,请输出最长的单词串,单词串是单词拼接而成,中间没有空格。原创 2025-02-19 06:45:00 · 20 阅读 · 0 评论 -
【华为OD机试 python】猜字谜【E卷| 2023 Q1 |100分】
小王设计了一个简单的猜字谜游戏,游戏的谜面是一个错误的单词,比如nesw,玩家需要猜出谜底库中正确的单词。猜中的要求如下:对于某个谜面和谜底单词,满足下面任一条件都表示猜中:1)变换顺序以后一样的,比如通过变换w和e的顺序,“nwes”跟“news”是可以完全对应的;2)字母去重以后是一样的,比如“woood”和“wood”是一样的,它们去重后都是“wod”请你写一个程序帮忙在谜底库中找到正确的谜底。谜面是多个单词,都需要找到对应的谜底,如果找不到的话,返回”not found”原创 2023-04-23 23:05:28 · 263 阅读 · 0 评论 -
2024华为OD机试真题-找等值元素(Python)-E卷-100分
给一个二维数组nums,对于每一个元素num[i],找出距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出-1。例如:输入数组nums为0 3 5 4 22 5 7 8 32 5 4 2 4对于 num[0][0] = 0,不存在相等的值。对于 num[0][1] = 3,存在一个相等的值,最近的坐标为num[1][4],最小距离为4.对于 num[0][2] = 5,存在两个相等的值,最近的坐标为num[1][1],故最小距离为2.对于 num[1][1]原创 2025-02-16 06:30:00 · 36 阅读 · 0 评论 -
【华为OD机试python】预订酒店【 E卷|2023 Q1 A卷|100分】
放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为n的数组A),他的心理价位是x元,请帮他筛选出k个最接近x元的酒店(n>=k>0),并由低到高打印酒店的价格。原创 2023-05-08 07:00:00 · 481 阅读 · 0 评论 -
【100%通过率 】【华为OD机试python】最大报酬【E卷|2022 Q4 A卷|100分】
小明每周上班都会拿到自己的工作清单,工作清单内包含n项工作,每项工作都有对应的耗时时间(单位h)和报酬,工作的总报酬为所有已完成工作的报酬之和,那么请你帮小明安排一下工作,保证小明在指定的工作时间内工作收入最大化原创 2023-04-11 21:49:54 · 161 阅读 · 0 评论 -
【华为OD机试python】贪心的商人【 E卷|2023 Q1 |100分】
商人经营一家店铺,有number种商品,由于仓库限制每件商品的最大持有数量是item[index]每种商品的价格是item-price[item_index][day]通过对商品的买进和卖出获取利润请给出商人在days天内能获取的最大的利润注:同一件商品可以反复买进和卖出原创 2025-02-13 22:10:50 · 42 阅读 · 0 评论 -
【100%通过率 】【华为OD机试python】最左侧冗余覆盖子串【 E卷|2022 Q4|100分】
给定两个字符串 s1 和 s2 和正整数k,其中 s1 长度为 n1,s2 长度为 n2,在s2中选一个子串,满足: 1:该子串长度为n1+k 2:该子串中包含s1中全部字母, 3:该子串每个字母出现次数不小于s1中对应的字母,我们称s2以长度k冗余覆盖s1,给定s1,s2,k, 求最左侧的s2以长度k冗余覆盖s1的子串的首个元素的下标,原创 2023-04-14 22:34:02 · 279 阅读 · 0 评论 -
【100%通过率 】【华为OD机试 python】最小调整顺序次数【 E卷|2023 Q1 |100分】
给定一个队列,但是这个队列比较特殊,可以从头部添加数据,也可以从尾部添加数据,但是只能从头部删除数据。输入一个数字n,会依次添加数字1~n(也就是添加n次)。但是在添加数据的过程中,也会删除数据,要求删除必须按照1~n按照顺序进行删除,所以在删除时,可以根据需要调整队列中数字的顺序以满足删除条件。原创 2023-04-10 23:55:07 · 364 阅读 · 0 评论 -
2024华为OD机试真题-最长连续子串-(Python)-E卷-100分
有N个正整数组成的一个序列。给定整数sum,求长度最长的连续子序列,使他们的和等于sum,返回此子序列的长度如果没有满足要求的序列,返回-1。原创 2025-02-11 19:53:55 · 54 阅读 · 0 评论 -
2024华为OD机试真题-生成哈夫曼树(Python)-E卷C卷D卷-100分
给定长度为 n 的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于1。请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。为了保证输出的二叉树中序遍历结果统一,增加以下限制:原创 2025-02-08 22:11:14 · 24 阅读 · 0 评论 -
2024华为OD机试真题-响应报文时间(Python)-E卷B卷-100分
IGMP 协议中,有一个字段称作最大响应时间 (Max Response Time) ,HOST收到查询报文,解折出 MaxResponsetime 字段后,需要在 (0,MaxResponseTime] 时间 (s)内选取随机时间回应一个响应报文,如果在随机时间内收到一个新的查询报文,则会根据两者时间的大小,选取小的一方刷新回应时间。原创 2025-02-07 21:40:37 · 42 阅读 · 0 评论 -
【华为OD机试】斗地主之顺子(Python)【E卷|2023 B卷|100分】
在斗地主扑克牌游戏中, 扑克牌由小到大的顺序为:3,4,5,6,7,8,9,10,J,Q,K,A,2,玩家可以出的扑克牌阵型有:单张、对子、顺子、飞机、炸弹等。其中顺子的出牌规则为:由至少5张由小到大连续递增的扑克牌组成,且不能包含2。原创 2025-02-07 21:33:34 · 197 阅读 · 0 评论 -
2024华为OD机试E卷-最小步数找终点算法-(Python)
给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。要求:第一步必须从第一元素开始,且1<=第一步的步长<len/2;(len为数组的长度,需要自行解析)。原创 2025-02-06 10:42:41 · 69 阅读 · 0 评论 -
【华为OD机试python】日志采集系统【 E卷 | 2023 Q1 |100分】
日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。如果上报太频繁,会对服务端造成压力;如果上报太晚,会降低用户的体验;如果一次上报的条数太多,会导致超时失败。为此,项目组设计了如下的上报策略:1、每成功上报一条日志,奖励1分2、每条日志每延迟上报1秒,扣1分3、积累日志达到100条,必须立即上报给出日志序列,根据该规则,计算首次上报能获得的最多积分数。原创 2025-02-05 18:59:26 · 59 阅读 · 0 评论 -
2024华为OD机试E卷-数大雁-(Python)
一群大雁往南飞,给定一个字符串记录地面上的游客听到的大雁叫声,请给出叫声最少由几只大雁发出。具体的:大雁发出的完整叫声为”quack“,因为有多只大雁同一时间嘎嘎作响,所以字符串中可能会混合多个”quack”。大雁会依次完整发出”quack”,即字符串中’q’ ,‘u’, ‘a’, ‘c’, ‘k’ 这5个字母按顺序完整存在才能计数为一只大雁。如果不完整或者没有按顺序则不予计数。如果字符串不是由’q’, ‘u’, ‘a’, ‘c’, ‘k’ 字符组合而成,或者没有找到一只大雁,请返回-1。原创 2025-02-04 00:55:24 · 616 阅读 · 0 评论 -
【华为OD机试】补种未成活胡杨python【E卷|100分】
近些年来,我国防沙治沙取得显著成果。某沙漠新种植N棵胡杨(编号1-N),排成一排。一个月后,有M棵胡杨未能成活。现可补种胡杨K棵,请问如何补种(只能补种,不能新种),可以得到最多的连续胡杨树?原创 2025-01-28 13:45:00 · 38 阅读 · 0 评论 -
【华为OD机试python】判断一组不等式是否满足约束并输出最大差【E卷|100分】
给定一组不等式,判断是否成立并输出不等式的最大差(输出浮点数的整数部分)要求:不等式系数为 double类型,是一个二维数组不等式的变量为 int类型,是一维数组;不等式的目标值为 double类型,是一维数组原创 2025-01-27 17:07:25 · 122 阅读 · 0 评论 -
【华为OD机试python】喊7的次数重排【E卷|100分】
喊7是一个传统的聚会游戏,N个人围成一圈,按顺时针从1到N编号。编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当将要喊出来的数字是7的倍数或者数字本身含有7的话,不能把这个数字直接喊出来,而是要喊"过"。原创 2025-01-27 15:47:00 · 26 阅读 · 0 评论 -
2024华为OD机试真题-特殊的加密算法Python-C卷D卷-200分
有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。规则如下:明文为一段数数组字串由 0~9 组成密码本为数字 0~9 组成的二维需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。原创 2024-09-04 22:46:37 · 259 阅读 · 0 评论 -
2024华为OD机试真题-反射计数Python-C卷D卷-200分
给定一个包含 0 和 1 的二维矩阵。给定一个初始位置和速度,一个物体从给定的初始位置出发,在给定的速度下进行移动,遇到矩阵的边缘则发生镜面发射。无论物体经过 0 还是 1,都不影响其速度。请计算并给出经过 t 时间单位后,物体经过 1 点的次数。原创 2024-09-04 01:09:50 · 495 阅读 · 0 评论 -
2024华为OD机试真题-贪心歌手Python-C卷D卷-200分
一个歌手准备从A城去B城参加演出。按照合同,他必须在 T 天内赶到歌手途经N 座城市歌手不能往回走每两座城市之间需要的天数都可以提前获知。歌手在每座城市都可以在路边卖唱赚钱。经过调研,歌手提前获知了每座城市卖唱的收入预期:如果在一座城市第一天卖唱可以赚M,后续每天的收入会减少D(第二天赚的钱是 M - D,第三天是 M - 2D ...)。如果收入减少到 0 就不会再少了。原创 2024-08-31 01:30:46 · 9090 阅读 · 0 评论 -
2024华为OD机试真题-启动多任务排序Python-C卷D卷-200分
一个应用启动时,会有多个初始化任务需要执行,并且任务之间有依赖关系,例如A任务依赖B任务,那么必须在B任务执行完成之后,才能开始执行A任务。现在给出多条任务依赖关系的规则,请输入任务的顺序执行序列,规则采用贪婪策略,即一个任务如果没有依赖的任务,则立刻开始执行,如果同时有多个任务要执行,则根据任务名称字母顺序排序。原创 2024-08-27 00:55:27 · 178 阅读 · 0 评论 -
2024华为OD机试真题-项目排期Python-C卷D卷-200分
项目组共有 N 个开发人员,项目经理接到了 M 个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。假定各个需求直接无任何先后依赖关系,请设计算法帮助项目经理进行工作安排,使整个项目能用最少的时间交付原创 2024-08-26 00:24:02 · 180 阅读 · 0 评论 -
2024华为OD机试真题-篮球游戏Python-C卷D卷-200分
幼儿园里有一个放倒的圆桶,它是一个线性结构,允许在桶的右边将篮球放入,可以在桶的左边和右边将篮球取出。每个篮球有单独的编号,老师可以连续放入一个或多个篮球,小朋友可以在桶左边或右边将篮球取出,当桶只有一个篮球的情况下,必须从左边取出。原创 2024-08-26 00:06:53 · 255 阅读 · 0 评论 -
2024华为OD机试真题-寻找最优的路测线路Python-C卷D卷-200分
评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。现给出 R 行 C 列的整数数组 Cov,每个单元格的数值 S 即为该栅格的信号质量(已归一化,无单位,值越大信号越好)。原创 2024-08-24 11:41:26 · 267 阅读 · 0 评论 -
2024华为OD机试真题-抢7游戏Python-C卷D卷-200分
A、B两个人玩抢7游戏,游戏规则为:A先报一个起始数字 X(10 ≤ 起始数字 ≤ 10000),B报下一个数字 Y (X - Y < 3),A再报一个数字 Z(Y - Z < 3),以此类推,直到其中一个抢到7,抢到7即为胜者;在B赢得比赛的情况下,一共有多少种组合?原创 2024-08-24 10:58:49 · 119 阅读 · 0 评论 -
2024华为OD机试真题-学生重新排队Python-C卷D卷-200分
n 个学生排成一排,学生编号分别是 1 到 n,n 为 3 的整倍数。老师随机抽签决定将所有学生分成 m 个 3 人的小组(n == 3 * m) ,为了便于同组学生交流,老师决定将小组成员安排到一起,也就是同组成员彼此相连,同组任意两个成员之间无其它组的成员。原创 2024-08-22 23:03:24 · 562 阅读 · 0 评论 -
2024华为OD机试真题-根据IP查找城市Python-C卷D卷-200分
某业务需要根据终端的IP地址获取该终端归属的城市,可以根据公开的IP地址池信息查询归属城市。地址池格式如下:城市名=起始IP,结束IP起始和结束地址按照英文逗号分隔,多个地址段采用英文分号分隔。比如:原创 2024-08-22 22:23:19 · 233 阅读 · 0 评论 -
2024华为OD机试真题-符号运算Python-C卷D卷-200分
给定一个表达式,求其分数计算结果。表达式的限制如下:所有的输入数字皆为正整数(包括0)仅支持四则运算(+-*,/)和括号结果为整数或分数,分数必须化为最简格式(比如6,3/4,7/8,90/7)除数可能为0,如果遇到这种情况,直接输出"ERROR"原创 2024-08-21 21:18:18 · 308 阅读 · 0 评论 -
2024华为OD机试真题-找数字Python-C卷D卷-200分
小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数 n(1 ≤ n ≤ 1e9),小扇需要找到一个比 n 大的数字 m,使得 m 和 n 对应的二进制中 1 的个数要相同,如:4对应二进制1008对应二进制1000其中1的个数都为1个现在求 m 的最小值。原创 2024-08-21 19:48:35 · 197 阅读 · 0 评论 -
2024华为OD机试真题-数据单元的变化替换Python-C卷D卷-200分
将一个 csv 格式的数据文件中包含有单元格引用的内容替换为对应单元格内容的实际值。comma separated values(CSV) 逗号分隔值,csv 格式的数据文件使用逗号 "," 作为分隔符将各单元的内容进行分隔。原创 2024-08-20 22:25:07 · 101 阅读 · 0 评论 -
2024华为OD机试真题-部门人力分配Python-C卷D卷-200分
部门在进行需求开发时需要进行人力安排。当前部门需要完成 N 个需求,需求用 requirements表述,requirements[i] 表示第 i 个需求的工作量大小,单位:人月。这部分需求需要在 M 个月内完成开发,进行人力安排后每个月人力时固定的。目前要求每个月最多有2个需求开发,并且每个月需要完成的需求不能超过部门人力。原创 2024-08-20 22:06:32 · 282 阅读 · 0 评论 -
2024华为OD机试真题-最长连续手牌Python-C卷D卷-200分
有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红、黄、蓝、绿中的一种,数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出,接下来如果玩家手中有和他上一次打出的手牌颜色或者数字相同的手牌,他可以继续将该手牌打出,直至手牌打光或者没有符合条件可以继续打出的手牌。现给定一副手牌,请找到最优的出牌策略,使打出的手牌最多。原创 2024-08-19 22:07:28 · 101 阅读 · 0 评论