- 博客(1263)
- 收藏
- 关注
原创 华为OD机试 C++ - 信道分配
算法工程师小明面对着这样一个问题,需要将通信用的信道分配给尽量多的用户:信道的条件及分配规则如下:1)所有信道都有属性:“阶”。阶为r的信道的容量为2^r比特2)所有用户需要传输的数据量都一样:D比特3)一个用户可以分配多个信道,但每个信道只能分配给一个用户4)只有当分配给一个用户的所有信道的容量和>=D,用户才能传输数据给出一组信道资源,最多可以为多少用户传输数据?
2024-07-03 14:29:34
2752
原创 华为OD机试 C++ - 核酸检测
为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要静尊圈定可能被感染的人群。现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。现在给定一组确诊人员编号(X1, X2, X3, …, Xn),在所有人当中,找出那些人需要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检测)需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人。例如:A是确诊病例,A和B有接触,B和C有接触,C和D
2024-07-03 14:28:22
2651
原创 华为OD机试 C++ - 找出两个整数数组中同时出现的整数
现有两个整数数组,需要你找出两个数组中同时出现的整数,并按照如下要求输出:有同时出现的整数时,先按照同时出现的次数(整数在两个数组中都出现并且出现次数较少的那个)进行归类,然后按照出现次数从小到大依次按行输出。没有同时出现的整数时,输出NULL。
2024-07-03 14:26:42
2572
原创 华为OD机试 C++ - 阿里巴巴找黄金宝箱(V)
一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意间发现了强盗集团的藏宝地,藏宝地有编号从0~N的箱子,每个箱子上面贴有一个数字。阿里巴巴念出一个咒语数字k(k
2024-07-03 14:25:10
439
原创 华为OD机试 C++ - 快乐的数字
首先是一个快乐的数字的定义:快乐的数字按照如下方式确定:从一个正整数开始,用其每位数的平方和取代该数,并重复这个过程,直到最后数字要么收敛等于1且一直等于1,要么将无休止地循环下去且最终不会收敛等于1。能够最终收敛等于1的数据就是快乐的数字。使用Python编写一个算法来确定一个数字是否“快乐”
2024-07-03 14:23:47
13
原创 华为OD机试 C++ - 合法工号
现有一杂乱的字符串,请判断该字符串是否为合法的工号,如不满足合法工号要求则返回“非法”结果,如满足则整理成规定的格式。合法工号:去除所有空格后,长度不超过9;首位为字母,其他均为数字(至少有一个数字)。格式化要求(格式化后如:a00012345):工号首字母统一规整成小写字符。去除所有空格,如果工号不满9位,在数字前面补零,使工号长度恰好位9。按要求格式化成合法工号。
2024-07-03 14:22:34
36
原创 华为OD机试 C++ - 计算误码率
误码率是最常用的数据通信传输质量指标。它可以理解为“在多少位数据中出现一位差错”。移动通信网络中的误码率主要是指比特误码率,其计算公式如下: 比特误码率=错误比特数/传输总比特数,为了简单,我们使用字符串来标识通信的信息,一个字符错误了,就认为出现了一个误码。输入一个标准的字符串,和一个传输后的字符串,计算误码率字符串会被压缩,
2024-07-03 14:21:07
12
原创 华为OD机试 C++ - 报文重排序
对报文进行重传和重排序是常用的可靠性机制,重传缓冲区内有一定数量的子报文,每个子报文在原始报文中的顺序已知,现在需要恢复出原始报文。
2024-07-03 14:19:42
362
原创 华为OD机试 C++ - 数字游戏
小明玩一个游戏。系统发1+n张牌,每张牌上有一个整数。第一张给小明,后n张按照发牌顺序排成连续的一行。需要小明判断,后n张牌中,是否存在连续的若干张牌,其和可以整除小明手中牌上的数字。
2024-07-03 14:16:13
30
原创 华为OD机试 C++ - 经典屏保
DVD在视频输出时,为了保护电视显像管,在待机状态会显示“屏保动画”,如下图所示,DVD L ogo在屏幕内来回运动,碰到边缘会反弹。请根据如下要求,实现屏保Logo坐标计算算法。屏幕时一个800*600像素的矩形,规定屏幕的左上角坐标原点,沿横边向右方向为X轴,沿竖边向下方向为Y轴。Logo是一个50*25像素的矩形,初始状态下,左上角点坐标记做(x, y),它在X和Y方向上均以1像素/秒的速度运动。遇到屏幕四个边缘后,会发生镜面反弹,即以45度碰撞边缘,再改变方向以45度弹出。当Logo和四个
2024-07-03 14:14:52
15
原创 华为OD机试 C++ - 热点网站统计
企业路由器的统计页面,有一个功能需要动态统计公司访问最多的网页URL top N。请设计一个算法,可以高效动态统计Top N的页面。
2024-07-03 14:12:41
10
原创 华为OD机试 C++ - 磁盘容量排序
磁盘的容量单位常用的有M,G,T这三个等级,它们之间的换算关系为1T = 1024G,1G = 1024M,现在给定n块磁盘的容量,请对它们按从小到大的顺序进行稳定排序,例如给定5块盘的容量,1T,20M,3G,10G6T,3M12G9M排序后的结果为20M,3G,3M12G9M,1T,10G6T。注意单位可以重复出现,上述3M12G9M表示的容量即为3M+12G+9M,和12M12G相等。
2024-07-03 14:11:35
12
原创 华为OD机试 C++ - 矩阵扩散
存在一个m*n的二维数组,其成员取值范围为0,1,2。其中值为1的元素具有同化特性,每经过1s,将周围上下左右值为0的元素同化为1,而值为2的元素免疫同化。将数组所有成员随机同化成0或2,再将矩阵的[0,0]元素修改成1,在经过足够长的时间后,求矩阵中有多少个元素是0或2(即0和2的数量之和)。
2024-07-03 14:08:55
31
原创 华为OD机试 C++ - 最佳对手
游戏里面,队伍通过匹配实力相近的对手进行对战。但是如果匹配的队伍实力相差太大,对于双方游戏体验都不会太好。给定n个队伍的实力值,对其进行两两实力匹配,两支队伍实例差距在允许的最大差距d内,则可以匹配。 要求在匹配队伍最多的情况下匹配出的各组实力差距的总和最小。
2024-07-03 14:03:10
17
原创 华为OD机试 C++ - 匿名信
电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字减下来,剪拼成匿名信。 现在又一名举报人,希望借鉴这种手段,使用英文报刊完成举报操作。 但为了增加文章的混淆度,只需满足每个单词中字母数量一致即可,不关注每个字母的顺序。 解释:单词on允许通过单词no进行替代。 报纸代表newspaper,匿名信代表anonymousLetter,求报纸内容是否可以拼成匿名信。
2024-07-02 20:37:40
79
原创 华为OD机试 C++ - 微服务的集成测试
现有n个容器服务,服务的启动可能有一定的依赖性(有些服务启动没有依赖),其次服务自身启动加载会消耗一些时间。给你一个nxn 的二维矩阵 useTime,其中 useTime[i][i]=10 表示服务i自身启动加载需要消耗10s,useTime[i][j]=1 表示服务i 启动依赖服务j启动完成,useTime[i][k]=0,表示服务i 启动不依赖服务 k。其实 0
2024-07-02 20:36:41
139
原创 华为OD机试 C++ - 食堂消费记录
实现一个简易的食堂消费系统,该食堂有多个餐厅,实现以下功能:RestaurantSystem(): 系统初始化receive(self, restaurant_id: int, meal_type: int, money: int) -> None: 记录一次收款。restaurant_id为消费所在的餐厅;meal_type取值仅为1,2,3,分别代表早、中、晚餐;money为本次收款金额。query_restaurant(): 按规则返回有收款记录的餐厅列表,或空列表 优先按照餐厅的收
2024-07-02 20:35:00
21
原创 华为OD机试 C++ - Excel单元格数值统计
Excel工作表中对选定区域的数值进行统计的功能非常实用。仿照Excel的这个功能,请对给定表格中选中区域中的单元格进行求和统计,并输出统计结果。为简化计算,假设当前输入中每个单元格内容仅为数字或公式两种。
2024-07-02 20:31:39
26
原创 华为OD机试 C++ - 最多等和不相交连续子序
给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。输出这个数目。
2024-07-02 20:30:38
16
原创 华为OD机试 C++ - 最差产品奖
A公司准备对他下面的N个产品评选最差奖, 评选的方式是首先对每个产品进行评分,然后根据评分区间计算相邻几个产品中最差的产品。 评选的标准是依次找到从当前产品开始前M个产品中最差的产品,请给出最差产品的评分序列。
2024-07-02 18:55:40
14
原创 华为OD机试 C++ - 组装新数组
给你一个整数M和数组N,N中的元素为连续整数,要求根据N中的元素组装成新的数组R,组装规则:R中元素总和加起来等于MR中的元素可以从N中重复选取R中的元素最多只能有1个不在N中,且比N中的数字都要小(不能为负数)
2024-07-02 18:35:43
21
原创 华为OD机试 C++ - 优雅子数组
如果一个数组中出现次数最多的元素出现大于等于K次,被称为k-优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次, 数组[1, 2, 3, 1, 2]就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。子数组是数组中一个或多个连续元素组成的数组。
2024-07-02 18:34:15
23
原创 华为OD机试 C++ - 探索地块建立
给一块nm的地块,相当于nm的二维数组,每个元素的值表示这个小地块的发电量;求在这块地上建立正方形的边长为c的发电站,发电量满足目标电量k的地块数量。
2024-07-02 18:31:13
17
原创 华为OD机试 C++ - 数字加减游戏
小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减,分别为a,b(a!=b),其中b没有使用次数限制。 请问小明最少可以用多少次a,才能将数字s变成数字t。 题目保证数字s一定能变成数字t。
2024-07-02 18:29:50
15
原创 华为OD机试 C++ - 去除多余空格
去除文本多余空格,但不去除配对单引号之间的多余空格。给出关键词的起始和结束下标,去除多余空格后刷新关键词的起始和结束下标。
2024-07-02 18:28:19
15
原创 华为OD机试 C++ - 区间交叠问题
给定坐标轴上的一组线段,线段的起点和终点均为整数并且长度不小于1,请你从中找到最少数量的线段,这些线段可以覆盖柱所有线段。
2024-07-02 18:26:46
20
原创 华为OD机试 C++ - 农场施肥
某农场主管理了一大片果园,fields[i]表示不同果林的面积,单位:m2,现在要为所有的果林施肥且必须在n天之内完成,否则影响收成。小布是果林的工作人员,他每次选择一片果林进行施肥,且一片果林施肥完后当天不再进行施肥作业。假设施肥机的能效为k,单位:m2/day,请问至少租赁能效 k 为多少的施肥机才能确保不影响收成?如果无法完成施肥任务,则返回-1。
2024-07-01 16:49:35
33
原创 华为OD机试 C++ - 连接器问题
有一组区间[a0,b0],[a1,b1],…(a,b表示起点,终点),区间有可能重叠、相邻,重叠或相邻则可以合并为更大的区间;给定一组连接器[x1,x2,x3,…](x表示连接器的最大可连接长度,即x>=gap),可用于将分离的区间连接起来,但两个分离区间之间只能使用1个连接器;请编程实现使用连接器后,最少的区间数结果。
2024-07-01 16:46:44
20
原创 华为OD机试 C++ - 快速开租建站
当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为1。部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。任务有多个依赖任务则需要等所有依赖任务都部署完该任务才能部署。没有依赖的任务可以并行部署,优秀的员工们会做到完全并行无等待的部署。给定一个站点部署任务项和它们之间的依赖关系,请给出一个站点的最短开站时间。
2024-07-01 16:26:09
19
原创 华为OD机试 C++ - 简单的解压缩算法
现需要实现一种算法,能将一组压缩字符串还原成原始字符串,还原规则如下:1、字符后面加数字N,表示重复字符N次。例如:压缩内容为A3,表示原始字符串为AAA。2、花括号中的字符串加数字N,表示花括号中的字符重复N次。例如压缩内容为{AB}3,表示原始字符串为ABABAB。3、字符加N和花括号后面加N,支持任意的嵌套,包括互相嵌套,例如:压缩内容可以{A3B1{C}3}3
2024-07-01 16:15:54
17
原创 华为OD机试 C++ - 计算网络信号、信号强度
网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。 注意:网络信号可以绕过阻隔物。array[m][n] 的二维数组代表网格地图,array[i][j] = 0代表i行j列是空旷位置;array[i][j] = x(x为正整数)代表i行j列是信号源,信号强度是x;array[i][j] = -1代表i行j列是阻隔物。信号源只有1个,阻隔物可能有0个或多个, 网络信号衰减是上下左右相邻的网格衰减1。 现要求输出对应位置的网络信号值。
2024-07-01 16:10:23
19
原创 华为OD机试 C++ - 计算快递主站点
快递业务范围有N个站点,A站点与B站点可以中转快递,则认为A-B站可达,如果A-B可达,B-C可达,则A-C可达。 现在给N个站点编号0、1、…n-1,用s[i][j]表示i-j是否可达,s[i][j]=1表示i-j可达,s[i][j]=0表示i-j不可达。现用二维数组给定N个站点的可达关系,请计算至少选择从几个主站点出发,才能可达所有站点(覆盖所有站点业务)。
2024-07-01 15:45:08
28
原创 华为OD机试 C++ - 基站维护工程师
小王是一名基站维护工程师,负责某区域的基站维护。 某地方有 n 个基站(1 < n < 10),已知各基站之间的距离 s(0 < s < 500),并且基站 x 到基站 y 的距离,与基站 y 到基站 x 的距离并不一定会相同。 小王从基站 1 出发,途经每个基站 1 次,然后返回基站 1 ,需要请你为他选择一条距离最短的路。
2024-07-01 15:41:52
17
原创 华为OD机试 C++ - 荒地电站建设
祖国西北部有一片大片荒地,其中零星的分布着一些湖泊,保护区,矿区; 整体上常年光照良好,但是也有一些地区光照不太好。 某电力公司希望在这里建设多个光伏电站,生产清洁能源对每平方公里的土地进行了发电评估, 其中不能建设的区域发电量为0kw,可以发电的区域根据光照,地形等给出了每平方公里年发电量x千瓦。 我们希望能够找到其中集中的矩形区域建设电站,能够获得良好的收益。
2024-07-01 15:38:10
15
原创 华为OD机试 C++ - 最优高铁城市修建方案
高铁城市圈对人们的出行、经济的拉动效果明品。每年都会规划新的高铁城市圈建设。在给定城市数量,可建设高铁的两城市间的修建成本列表、以及结合城市商业价值会固定建设的两城市间高铁。请你设计算法,达到修建城市高铁的最低成本。注意,需要满足城市圈内城市间两两互联可达(通过其他城市中转可达也属于满足条件)
2024-07-01 15:36:18
26
原创 华为OD机试 C++ - 九宫格
九宫格是一款广为流传的游戏,起源于河图洛书。游戏规则是:1到9九个数字放在3x3的格子中,要求每行、每列以及两个对角线上的三数之和都等于15.在金麻名著《射雕英雄传》中黃蓉曾给九宫格的一种解法,口诀:戴九恩一,左三右七,二四有肩,八六为足,五居中央。
2024-07-01 15:28:23
14
原创 华为OD机试 C++ - 工单调度策略
当小区通信设备上报警时,系统会自动生成待处理的工单,工单调度系统需要根据不同的策略,调度外线工程师(FME)上站去修复工单对应的问题。根据与运营商签订的合同,不同严重程度的工单被处理并修复的时长要求不同,这个要求被修复的时长我们称之为SLA时间。假设华为与运营商A签订了运维合同,部署了一套调度系统,只有1个外线工程师(FME),每个工单根据问题严重程度会给一个评分,在SLA时间内完成修复的工单,华为员工获得工单对应的积分,超过SLA完成的工单不获得积分,但必须完成该工单,运营商最终会根据积分付款。请
2024-07-01 15:25:18
366
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人