2023面试高手
10+年互联网大厂经验,精通JAVA、Python、C++等,乐于分享面试经验。
展开
-
华为od机试题-2024年-最新真题-完整题库-两周350分
华为OD机试题库每半年刷新一次,目前已经整理了100道原题,并提供了java、python、C++三种解法,这就是2024年的完整题库了。这样复习2周之后,我的很多学生都考到了350分以上~原创 2023-04-09 19:25:29 · 7675 阅读 · 0 评论 -
华为OD机试2024年最新题库D卷(C++)
我是一名软件开发培训机构老师,我的学生已经有上百人通过了华为OD机试,学生们每次考完试,会把题目拿出来一起交流分享。重要:2024年1月-5月,考的都是OD统一考试(C卷),题库已经整理好了,命中率95%以上。这个专栏使用C++解法。原创 2024-01-13 23:10:11 · 1697 阅读 · 0 评论 -
2024年华为OD机试真题-反射计数-C++-OD统一考试(C卷D卷)
矩阵以左上角位置为[0, 0](列(x), 行(行)), 例如下面A点坐标为[2, 1] (第二列, 第一行)初始位置为(2, 1), 速度为(1, -1), 那么13个时间单位后, 经过点1的个数为3。一个物体从给定的初始位置触发, 在给定的速度下进行移动, 遇到矩阵的边缘则发生镜面反射。+--------------------------- 递增(x)请计算并给出经过 t 时间单位后, 物体经过 1 点的次数。时间的最小单位为1, 不考虑小于 1 个时间单位内经过的点。w, h为矩阵的宽和高。原创 2024-06-21 09:30:16 · 421 阅读 · 0 评论 -
2024年华为OD机试真题-抢7游戏-C++-OD统一考试(C卷D卷)
我们可以定义两个数组a[n],b[n], a[i]代表A报数i的组合数,我们有两种更新方式:a[i] += b[i+1] + b[i+2]。前一种方式表示当前的a[i]可以由已经枚举过的b[i+1],b[i+2]获取,第二种方式可以理解为用当前枚举到的数b[i]更新将要报数的组合数a[i-j]。A、B两个人玩抢7游戏,游戏规则为A先报一个起始数字X(10原创 2024-06-20 16:40:20 · 260 阅读 · 0 评论 -
2024年华为OD机试真题-石头剪刀布游戏-C++-OD统一考试(C卷D卷)
根据猜拳的不同,把所有人分为3个组,若无人组的数目不等于1,就说明肯定平局。当无人组的数目等于1,我们枚举剩下的情况,判断哪组是赢家即可,排序后输出。输出为赢家的玩家ID列表(一个或多个),每个ID一行,按字符串升序排列。例如1 三个玩家出拳分别是 A,B,C。2) 当本场次中有且仅有一种出拳形状优于其它出拳形状,则该形状的玩家是胜利者。解释:玩家abc1 出拳为石头(A)。例如2 三个玩家,出拳分别是 A,B。例如3 三个玩家,出拳全部是 A。2)出拳形状:以英文大写字母表示,A、B、C形状。原创 2024-06-19 08:30:00 · 79 阅读 · 0 评论 -
2024年华为OD机试真题-可以组成网络的服务器-C++-OD统一考试(C卷D卷)
在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。图论,我们对点跑dfs连通块,跑的时候记录一下连通块大小(点的数目),同时使用vis数组来避免重复跑连通块,最后取最大连通块数据即可。[0][0]、[1][0]、[1][1]三台服务器相互连接,可以组成局域网。第一行输入两个正整数,n和m,0原创 2024-06-18 08:30:00 · 198 阅读 · 0 评论 -
2024年华为OD机试真题-5G网络建设-C++-OD统一考试(C卷D卷)
现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间架设光纤的成本各不相同,且有些节点之间已经存在光纤相连,请你设计算法,计算出能联通这些基站的最小成本是多少。从第三行开始连续输入M行数据,格式为 X Y Z P,其中X Y表示基站的编号,0原创 2024-06-17 07:42:51 · 275 阅读 · 0 评论 -
2024年华为OD机试真题-分月饼-C++-OD统一考试(C卷D卷)
中秋节,公司分月饼,m个员工,买了n个月饼,m原创 2024-06-16 09:00:00 · 91 阅读 · 0 评论 -
2024年华为OD机试真题-API集群负载统计-C++-OD统一考试(C卷D卷)
某个产品的RESTful API集合部署在服务器集群的多个节点上,近期对客户端访问日志进行了采集,需要统计各个API的访问频次,根据热点信息在服务器节点之间做负载均衡,现在需要实现热点信息统计查询功能。RESTful API的由多个层级构成,层级之间使用 / 连接,如 /A/B/C/D 这个地址,A属于第一级,B属于第二级,C属于第三级,D属于第四级。接下来N行,每一行为一个RESTful API的URL地址,约束地址中仅包含英文字母和连接符/,最大层级为10,每层级字符串最大长度为10。原创 2024-06-14 08:30:00 · 241 阅读 · 0 评论 -
2024年华为OD机试真题-围棋的气-C++-OD统一考试(C卷D卷)
2、所有同色棋子的气之和叫作该色棋子的气,需要注意的是,同色棋子重合的气点,对于该颜色棋子来说,只能计算一次气,比如下图中,黑棋一共4口气,而不是5口气,因为黑1和黑2中间红色三角标出的气是两个黑棋共有的,对于黑棋整体来说只能算一个气。1、在棋盘的边缘上的棋子最多有3口气(黑1),在棋盘角点的棋子最多有2口气(黑2),其它情况最多有4口气(白1)3、本题目只计算气,对于眼也按气计算,如果您不清楚“眼”的概念,可忽略,按照前面描述的规则计算即可。2、坐标的原点在棋盘左上角点,第一个值是行号,范围从0到18;原创 2024-06-13 08:30:00 · 192 阅读 · 0 评论 -
2024年华为OD机试真题-执行任务赚积分-C++-OD统一考试(C卷D卷)
接下来N行,每行两个空格分隔的整数(SLA和V),SLA表示任务的最晚处理时间,V表 示任务对应的积分。每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。说明:虽然有3个单位的时间用于处理任务,可是所有任务在时刻1之后都无效。可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。第3个时间单位内,无任务可处理。说明:第1个时间单位内,处理任务3,获得4个积分。原创 2024-06-10 18:26:23 · 148 阅读 · 0 评论 -
2024年华为OD机试真题-快递员的烦恼-C++-OD统一考试(C卷D卷)
说明:路径1:快递员先把快递送到客户1手中,接下来直接走客户1到客户2之间的直通线路,最后走投递站和客户2之间的路,回到投递站,距离为1000 + 300 + 1200 =2500。路径3:快递员先把快递送到客户2手中,接下来直接走客户2到客户1之间的直通线路,最后走投递站和客户1之间的路,回到投递站,距离为1200 + 300 + 1000 =2500。再接下来的m行,是快递员自行查找的客户与客户之间的距离信息,格式为:客户1id 客户2id distance。最短路径距离,如无法找到,请输出-1。原创 2024-06-10 11:34:32 · 240 阅读 · 0 评论 -
2024年华为OD机试真题-转盘寿司-C++-OD统一考试(C卷D卷)
寿司转盘上总共有n盘寿司,prices[i]是第i盘寿司的价格,如果客户选择了第i盘寿司,寿司店免费赠送客户距离第i盘寿司最近的下一盘寿司 j,前提是prices[j]< prices[i],如果没有满足条件的 j,则不赠送寿司。表示第0盘寿司价格prices[0]为3,第1盘寿司价格prices[1]为15,第2盘寿司价格prices[2]为6,第3盘寿司价格prices[3]为14。说明:第0盘寿司价格为3,往后找不到任何比第0盘寿司便宜的寿司,所以客户选择第0盘寿司的话,实际可得到价格还是原价格3。原创 2024-06-09 10:41:56 · 327 阅读 · 0 评论 -
2024年华为OD机试真题-Wonderland-C++-OD统一考试(C卷D卷)
根据售票价格数组和游玩日期数组给出的信息,发现每次去玩的时候买一张一日票是最省钱的,所以小王会买8张一日票,每张5元,最低花费是40元。考虑买三日票:dp[day] = min(dp[day], dp[max(day-3, 0)] + costs[1])考虑买月票:dp[day] = min(dp[day], dp[max(day-30, 0)] + costs[3])考虑买周票:dp[day] = min(dp[day], dp[max(day-7, 0)] + costs[2])原创 2024-06-08 15:00:00 · 101 阅读 · 0 评论 -
2024年华为OD机试真题-精准核酸检测-C++-OD统一考试(C卷D卷)
2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 解题思路:1、初始化数据结构:利用邻接矩阵来存储人与人之间的接触情况,使用一个集合来标记确诊病例,并设置一个队列用于广度优先搜索(BFS),以及一个集合或数组记录已访问节点。2、设置起点:将确诊病例标记为已访问,并将它们作为起始点加入队列中开始搜索。3、广度优先搜索(BFS):从队列中逐个取出节点,探索所有与之直接接触的人(未被访问的),将它们标记为已访问,并加入队列中以便进一步探索。这些被访问的人原创 2024-06-08 09:00:00 · 21 阅读 · 0 评论 -
2024年华为OD机试真题-多段线数据压缩-C++-OD统一考试(C卷D卷)
上图中的多段线可以用下面的坐标串表示:(2, 8), (3, 7), (3, 6), (3, 5), (4, 4), (5, 3), (6, 2), (7, 3), (8, 4), (7, 5)。但可以发现,这种表示不是最简的,其实只需要存储6个蓝色的关键点即可,它们是线段的起点、拐点、终点,而剩下4个点是冗余的。如上图所示,6个蓝色像素的坐标依次是(2,8)、(3,7)、(3,5)、(6,2)、(8,4)、(7,5)。现在,请根据输入的包含有冗余数据的多段线坐标列表,输出其最简化的结果。原创 2024-06-06 18:00:00 · 191 阅读 · 0 评论 -
2024年华为OD机试真题-靠谱的车-C++-OD统一考试(C卷D卷)
3、计算跳过4的结果:我们从高位到低位检查每个数字,将不是4的数字累加到最终结果中,确保每个位的权重正确。出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能都正常。1、定义函数:我们定义一个函数,该函数接受计费表的读数(N),并返回没有4的实际读数。2、处理跳过4的逻辑:我们逐位检查数字,将每一个不是4的数字转换为最终的数值。小明识破了司机的伎俩,准备利用自己的学识打败司机的阴谋。给出计费表的表面读数,返回实际产生的费用。只有一行,数字N,表示里程表的读数。原创 2024-06-06 14:00:00 · 93 阅读 · 0 评论 -
2024年华为OD机试真题-求幸存数之和-C++-OD统一考试(C卷D卷)
运算过程为:从索引为0的位置开始向后跳,中间跳过 J 个数字,命中索引为J+1的数字,该数被敲出,并从该点起跳,以此类推,直到幸存left个数为止。然后返回幸存数之和。说明:从1(索引为0)开始起跳,中间跳过 4 个数字,因此依次删除 6,2,8,5,4,7。3、删除过程:从索引 1 开始,计算下一个应该删除的元素位置,然后删除。1、函数定义:sumOfLeft 接受一个整数数组 nums,跳数 jump,以及最终需要保留的元素数量 left。输入:[1,2,3,4,5,6,7,8,9],4,3。原创 2024-06-06 08:30:00 · 144 阅读 · 0 评论 -
2024年华为OD机试真题-整数对最小和-C++-OD统一考试(C卷D卷)
1、初始化最小堆:使用最小堆来存储元素对及其和,堆中的每个元素为一个三元组 (sum, i, j),其中 sum 是 array1[i] + array2[j] 的和,i 和 j 分别是 array1 和 array2 中元素的索引。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值。2、堆填充:开始时,将 array1 的每个元素与 array2 的第一个元素组成对,并将其和与索引信息放入堆中。用例中,需要取2对元素。原创 2024-06-05 08:30:00 · 23 阅读 · 0 评论 -
2024年华为OD机试真题-Wonderland-C++-OD统一考试(C卷D卷)
根据售票价格数组和游玩日期数组给出的信息,发现每次去玩的时候买一张一日票是最省钱的,所以小王会买8张一日票,每张5元,最低花费是40元。考虑买三日票:dp[day] = min(dp[day], dp[max(day-3, 0)] + costs[1])考虑买月票:dp[day] = min(dp[day], dp[max(day-30, 0)] + costs[3])考虑买周票:dp[day] = min(dp[day], dp[max(day-7, 0)] + costs[2])原创 2024-06-04 08:30:00 · 25 阅读 · 0 评论 -
2024年华为OD机试真题-中文分词模拟器-C++-OD统一考试(C卷D卷)
即“ilovechina” ,不同词库可分割为 “i,love,china” “ilove,china”,不能分割出现重叠的"i,ilove,china",i重叠出现。3.词库:根据外部知识库统计出来的常用词汇例:dictionary=["i","love","china","lovechina","ilove"],第二行输入中文词库 "i,love,china,ch,na,ve,lo,this,is,the,word"按顺序输出分词结果 "i,love,china"2.标点符号不成词,仅用于断句。原创 2024-06-03 18:00:00 · 83 阅读 · 0 评论 -
2024年华为OD机试真题-田忌赛马-C++-OD统一考试(C卷D卷)
给定两个只包含数字的数组a,b,调整数组 a 里面数字的顺序,使得尽可能多的 a[i] >b[i]。这个问题的核心是找到数组 a 的排列,使得在与数组 b对比时 a[i] > b[i] 的情况尽可能多。输入的第一行是数组 a 中的数字,其中只包含数字,每两个数字之间相隔一个空格,a 数组大小不超过 10。说明:有两个 a 数组的排列可以达到最优结果 [12,20,11]和11,20,12] ,故输出 2。输入的第二行是数组 b 中的数字,其中只包含数字,每两个数字之间相隔一个空格,b数组大小不超过 10。原创 2024-06-03 14:00:00 · 102 阅读 · 0 评论 -
2024年华为OD机试真题-园区参观路径-C++-OD统一考试(C卷D卷)
求从起始园区到终点园区会有多少条不同的参观路径;3、如果位置 (i, j) 是可以参观的(值为0),则路径数为 dp[i-1][j] 和 dp[i][j-1] 之和,表示可以从上方或者左方到达当前位置。1、初始化一个二维数组 dp,其中 dp[i][j] 表示从起点到位置 (i, j) 的路径数。后面每一行表示该园区是否可以参观,0表示可以参观,1表示不能参观。2、如果位置 (i, j) 是不能参观的(值为1),则 dp[i][j] = 0。4、最后,dp[m-1][n-1] 就是从起点到终点的路径数。原创 2024-06-03 08:30:00 · 130 阅读 · 0 评论 -
2024年华为OD机试真题-英文输入法-C++-OD统一考试(C卷D卷)
从用户已输入英文语句”I love you”中提炼出“I”、“love”、“you”三个单词,接下来用户输入“He”,从已输入信息中无法联想到任何符合要求的单词,因此输出用户输入的单词前缀。依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,如果联想不到,请输出用户输入的单词前缀。对于包含撇号的单词,将其分割为两部分,例如 "it's" 分割为 "it" 和 "s"。3. 输出的单词序列,不能有重复单词,且只能是英文单词,不能有标点符号。原创 2024-05-31 14:30:00 · 125 阅读 · 0 评论 -
2024年华为OD机试真题-贪心歌手-C++-OD统一考试(C卷D卷)
5) 歌手在每座城市都可以在路边卖唱赚钱。经过调研,歌手提前获知了每座城市卖唱的收入预期:如果在一座城市第一天卖唱可以赚M,后续每天的收入会减少D(第二天赚的钱是M – D,第三天是M-2D…每座城市间的旅行时间是固定的,而歌手需要在限定演出的时间内达到最大收益。从优先队列中取出所有值求和:最终,堆中存储的就是在可用时间内可以得到的最大收益。计算每个城市的潜在收益:遍历每个城市,对于每个城市计算如果停留不同天数所能获得的收益,并存入优先队列。读取每个城市的收益信息:包括每城市的初始收益和每天收益递减值。原创 2024-05-30 18:00:00 · 128 阅读 · 0 评论 -
2024年华为OD机试真题-灰度图恢复-C++-OD统一考试(C卷D卷)
黑白图像常采用灰度图的方式存储,即图像的每个像素填充一个灰阶值,256阶灰度图是一个灰阶值取值范围为0-255的灰阶矩阵,0表示全黑、255表示全白,范围内的其他值表示不同的灰度。3、从第三个数开始,每两个数一组,每组第一个数是灰阶值,第二个数表示该灰阶值从左到右,从上到下(可理解为将二维数组按行存储在一维矩阵中)的连续像素个数。2、恢复灰阶矩阵:通过遍历压缩数据,将灰阶值按照其出现的次数填充到一个列表(或数组)中,这个列表实际上是按行展开的一维表示形式。输入数据表示的灰阶矩阵的指定像素的灰阶值。原创 2024-05-30 10:09:47 · 33 阅读 · 0 评论 -
2024年华为OD机试真题-项目排期-C++-OD统一考试(C卷D卷)
项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。共有两位员工,其中一位分配需求 6 2 7 7 3 2 1共需要28天完成,另一位分配需求 9 3 11 4 共需要27天完成,故完成所有工作至少需要28天。表示共有M个需求,每个需求的工作量分别为X1天,X2天......Xm天。第一行输入为M个需求的工作量,单位为天,用逗号隔开。例如:X1 X2 X3 .... Xm。表示共有5名员工,其中0原创 2024-05-29 10:00:29 · 114 阅读 · 0 评论 -
2024年华为OD机试真题-数组去重和排序-C++-OD统一考试(C卷D卷)
2、数据结构: 使用两个 Map,一个用于存储每个数字的频率(frequency),另一个用于记录每个数字首次出现的位置(firstAppearance)。3、排序: 利用 sort 方法和自定义的比较器根据频率和首次出现顺序对数字进行排序。给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次。4、输出: 最后按照题目要求的格式打印出排序后的数字列表,数字之间用逗号隔开。数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。数组元素值大小不超过100。原创 2024-05-28 14:00:00 · 38 阅读 · 0 评论 -
2024年华为OD机试真题-根据IP查找城市-C++-OD统一考试(C卷D卷)
注:最佳匹配即包含待查询IP且长度最小的IP段,比如例子中3.4.4.4最佳匹配是City2=3.3.3.3,4.4.4.4,5.5.5.5的最佳匹配是City3=2.2.2.2,6.6.6.6。解析城市和IP范围:将输入的城市和IP范围字符串分解,提取每个城市的名字和对应的IP起始和结束地址。对于每个查询的IP地址,需要确定它最佳匹配的城市,即找到最小的、包含该IP地址的IP范围。最佳匹配的城市名列表,采用英文逗号‘,’分隔,城市列表长度应该跟查询的IP列表长度一致。原创 2024-05-27 11:06:02 · 96 阅读 · 0 评论 -
2024年华为OD机试真题-计算面积-C++-OD统一考试(D卷)
指令的格式为X offsetY,表示在横坐标X 沿纵坐标方向偏移,offsetY为正数表示正向偏移,为负数表示负向偏移。取值范围:0 < N原创 2024-05-26 09:00:00 · 402 阅读 · 0 评论 -
2024年华为OD机试真题-智能成绩表-C++-OD统一考试(C卷D卷)
第3行开始的n行,每行包含一个学生的姓名和该生m个科目的成绩(空格隔开),学生不会重名。成绩是0~100的整数,依次对应第2行中输入的科目。排序科目不存在,按总分排序,fangfang和minmin总分相同,按姓名的字典顺序,fangfang排在前面。中的cmp函数,因为有两种情况,一种是排序科目存在,一种是不存在,因此我们可以写两个cmp函数,输出一行,按成绩排序后的学生名字,空格隔开。第1行输入两个整数,学生人数n和科目数量m。第n+2行,输入用作排名的科目名称。若科目不存在,则按总分进行排序。原创 2024-05-25 09:00:00 · 37 阅读 · 0 评论 -
2024年华为OD机试真题-机场航班调度程序-C++-OD统一考试(C卷D卷)
XX市机场停放了多架飞机,每架飞机都有自己的航班号CA3385,CZ6678,SC6508等,航班号的前2个大写字母(或数字)代表航空公司的缩写,后面4个数字代表航班信息。为保障航班的有序起飞,调度员首先按照航空公司的缩写(航班号前2个字母)对所有航班进行排序,同一航空公司的航班再按照航班号的后4个数字进行排序最终获得安排好的航班的起飞顺序。得到一个字符串类型的数组。输入目前停留在该机场的航班号,输出为按照调度排序后输出的有序的航班号。备注:航班号为6位长度,后4位为纯数字,不考虑存在后4位重复的场景。原创 2024-05-24 08:30:00 · 269 阅读 · 1 评论 -
2024年华为OD机试真题-电脑病毒感染-C++-OD统一考试(C卷D卷)
一个局域网内有很多台电脑,分别标注为0 - N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需要最少需要多长时间。我们可以把电脑看作点,把感染时间看作距离,随后这个就变成了经典的最短路问题。如图:path[i]= {i,j, t} 表示电脑i->j 电脑i上的病毒感染j,需要时间t。给定一个数组times表示一个电脑把相邻电脑感染所用的时间。第三个 1 2 1 表示1->2时间为1。第七行:表示病毒最开始所在的电脑号1。原创 2024-05-23 18:00:00 · 129 阅读 · 0 评论 -
2024年华为OD机试真题-密码解密-C++-OD统一考试(C卷D卷)
使用*将字符串分割,每个分割的块一定是若干个a-i和一个j-z组成的,就十分好求解。但是需要考虑最后一个块是由若干个a-i组成的情况,所以我们给字符串手动添加一个“10星号”,方便之后的代码讨论。映射的规则 ('a'-'i')分别用('1'-'9')表示;('j'-'z')分别用('10*'-'26*')表示。给定一段"密文"字符串s,其中字符都是经过"密码本"映射的,现需要将"密文"解密并且输出。翻译后的文本的长度在100以内。原创 2024-05-22 19:37:03 · 101 阅读 · 0 评论 -
2024年华为OD机试真题-火星文计算-C++-OD统一考试(C卷D卷)
当我们遍历的运算符vector时,如果扫描到的运算符下标是i的话,此时参与运算的两个操作数的下标是i和i+1。由此,我们可以遍历运算符vector,首先处理高优先级的#,假设#下标是i,我们去nums容器中去处理i和i+1下标的两个运算数,然后将结果存到nums[i]中,此时nums[i+1]没有存在的必要了,我们用erase函数去清楚该数据,同时erase到使用过的操作符。4、保证输入的字符串为合法的求值报文,例如:123#4$5#67$78。#4$5 //缺少操作数。4$5# //缺少操作数。原创 2024-05-22 14:00:00 · 83 阅读 · 0 评论 -
2024年华为OD机试真题-文本统计分析-C++-OD统一考试(C卷D卷)
3. 文本支持字符串, 字符串为成对的单引号(')或者成对的双引号("), 字符串可能出现用转义字符(\)处理的单双引号(比如"your input is: \"")和转义字符本身, 比如 COMMAND A "Say \"hello\"";",但空文本不能算语句,比如"COMMAND A;4. 支持注释, 可以出现在字符串之外的任意位置, 注释以"--"开头, 到换行结束, 比如。有一个文件, 包含以一定规则写作的文本, 请统计文件中包含的文本数量。注意, 字符串内的"--", 不是注释。原创 2024-05-22 09:50:14 · 158 阅读 · 0 评论 -
2024年华为OD机试真题-火星文计算-C++-OD统一考试(C卷D卷)
当我们遍历的运算符vector时,如果扫描到的运算符下标是i的话,此时参与运算的两个操作数的下标是i和i+1。由此,我们可以遍历运算符vector,首先处理高优先级的#,假设#下标是i,我们去nums容器中去处理i和i+1下标的两个运算数,然后将结果存到nums[i]中,此时nums[i+1]没有存在的必要了,我们用erase函数去清楚该数据,同时erase到使用过的操作符。4、保证输入的字符串为合法的求值报文,例如:123#4$5#67$78。#4$5 //缺少操作数。4$5# //缺少操作数。原创 2024-05-21 14:00:00 · 146 阅读 · 0 评论 -
2024年华为OD机试真题-开源项目热榜-C++-OD统一考试(C卷D卷)
H = Wwatch X#watch + Wstar X#star +Wfork X#fork +Wissue X#issue +Wmr X#mr H表示热度值,Wwatch、Wstar、Wfork、Wissue、Wmr分别表示5个统计维度的权重,#watch、#star、#fork、#issue、#mr分别表示5个统计维度的统计值。按照热度降序,输出开源项目的名字,对于热度值相等的,按照项目名字转换为全小写字母后的字典序排序('a'>'b'>'c'>...>'x'>'y'>'z')。原创 2024-05-21 09:00:00 · 111 阅读 · 0 评论 -
2024年华为OD机试真题-停车场车辆统计-C++-OD统一考试(C卷D卷)
第二步就是遍历vector数组,首先统计每一段连续个1的数量,然后统计完数量后进行停车操作,按照贪心的想法,我们想停最少的车辆数目,那肯定先尽量放大车,当占位为3的车放完后,再尽量去放占位为2的车,最后的空挡去放占位为1的小车。要注意的一点是,最后要判定一下cnt的值,因为可能序列最末尾是一个1,我们只统计了1的个数但是没有去处理最后一个序列,这里容易出错,要注意。车辆大小不一,小车占一个车位(长度1),货车占两个车位(长度2),卡车占三个车位(长度3),统计停车场最少可以停多少辆车,返回具体的数目。原创 2024-05-20 14:30:24 · 226 阅读 · 0 评论 -
2024年华为OD机试真题-内存冷热标记-C++-OD统一考试(C卷D卷)
第二行为访存序列,空格间隔的N个内存页框号,页框号范围0-65535,同一页框号可能重复出现,出现的次数即为对应页框号的频次。一种典型的方案是基于内存页的访问频次进行标记,如果统计窗口内访问次数大于等于设定阈值,则认为是热内存页,否则是冷内存页。内存页1和内存页2的访问频次相等,页框号小的排前面。如果第一行>0,则接下来按照访问频次降序输出内存页框号,一行一个,频次一样的页框号,页框号小的排前面。内存页使用页框号作为标识。第一行输出标记为热内存的内存页个数,如果没有被标记为热内存的,则输出0。原创 2024-05-20 09:50:17 · 140 阅读 · 0 评论