自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 华为OD机试真题-修建高铁最低成本【2023Q1】

在给定城市数量,可建设高铁的两城市间的修建成本列表、以及结合城市商业价值会固定建设的两城市建高铁。满足修建成本最低,只需要建设城市1,2间,城市2,3间的高铁即可,城市1,3之间可通过城市2中转来互联。1、第一行,包含此城市圈中城市的数量、可建设高铁的两城市间修建成本列表数量、必建高铁的城市列表。2、可建设高铁的两城市间的修建成本列表,为多行输入数据,格式为3个数字,用空格分隔,长度不超过1000。3、 固定要修建的高铁城市列表,是上面参数2的子集,可能为多行,每行输入为2个数字,以空格分隔。

2023-05-03 21:36:00 117

原创 华为OD机试真题-最大平分数组【2023Q1】

如果dp数组的最后一个元素为true,则说明数组可以被划分为k个和相等的子集。给定一个数组nums,可以将元素分为若干个组,使得每组和相等,求出满足条件的所有分组中,最大的平分组个数。假设数组的个数为n,从n开始递减,将数组划分为i个和相等的子集。4 个子集(5,1),(5,1),(5,1),(2,2,2)2 个子集(5, 1, 5,1),(2,2, 2,5,1)4 个子集(5),(1,4),(2,3),(2,3)2 个子集(5, 1, 4),(2,3, 2,3)最大的平分组数个数为4个。

2023-05-03 21:33:12 136

原创 华为OD机试真题-积木最远距离【2023Q1】

小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的2块积木块,计算他们的距离,小薇请你帮忙替她解决这个问题。对于每个列表,如果长度大于1,则说明有相同数字的积木。他们有很多积木,每个积木块上都有一个数字,积木块上的数字可能相同。接下来N行每行一个数字,表示小华排成一排的积木上数字。如果所有积木数字都不相同,请返回-1。共有5个积木,第1个积木和第4个积木数字相同,其距离为3。0<=积木上的数字<10^9 1<=积木长度<=10^5。一共有两个积木,没有积木数字相同,返回-1。

2023-05-03 21:31:07 106

原创 华为OD机试真题-打印机队列【2023Q1】

文件的编号定义为”IN P NUM”事件发生第 x 次,此处待打印文件的编号为x。有5台打印机打印文件,每台打印机有自己的待打印队列。对于每个测试用例,每次”OUT P”事件,请在一行中输出文件的编号。所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。内,每个元素为一个ArrayList,代表打印机中的文件。打印机会从自己的待打印队列中选择优先级最高的文件来打印。,则将文件添加到对应打印机的文件列表中。用于记录输入的文件数量。

2023-05-03 21:29:08 155

原创 华为OD机试真题- 处理器问题【2023Q1】

如果申请处理器个数为1,则选择同一链路,剩余可用的处理器数量为1个的最佳,其次是剩余3个的为次佳,然后是剩余2个,最后是剩余4个。编号0-3的处理器处于一个链路,编号4-7的处理器处于另外一个链路。-如果申请处理器个数为2,则选择同一链路剩余可用的处理器数量2个的为最佳,其次是剩余4个,最后是剩余3个。编号0-3的处理器处于同一个链路中,编号4-7的处理器处于另外一个链路中,不同链路中的处理器不能通信。-如果申请处理器个数为4,则必须选择同一链路剩余可用的处理器数量为4个。

2023-05-03 21:25:49 67

原创 华为OD机试真题- 日志首次上报最多积分【2023Q1】

比如,我在t1时刻不上报数据,延迟到t2时候上报,能够得到98分。因为每成功上报一条日志,奖励1分,我们总共上报了1 + 98 = 99条数据,但由于t1时候的1条数据延迟了1秒,根据规则2,因扣1分。但其中t1时候的数据被延迟2秒,扣2分,t2时刻的98条数据延迟1秒,扣98分,因此总共扣100分。能够得0分,因为t3时刻总共上报1+98+1 = 100条数据,可以。T5 时刻上报,因为已经超了100条的限制,所以只能上报100条,得 -23 分。比如,我在t1时刻上报数据,能够得到1分。

2023-05-03 21:20:12 74

原创 华为OD机试真题-探索地块建立【2023Q1】

给一块n * m的地块,相当于n * m的二维数组,每个元素的值表示这个小地块的发电量;求在这块地上建立正方形的边长为c的发电站,发电量满足目标电量k的地块数量。),检查以每个点为右下角的正方形发电站区域(边长为c)是否满足目标电量k。第一行为四个按空格分隔的正整数,分别表示n, m , c k。后面n行整数,表示每个地块的发电量。从左上角开始,计算每个点到该点为止的矩形区域内的发电量总和。2 5 2 6 // n m c k,下面每行是n*m地块每格的发电量。最终就能计算出满足条件的发电站数量。

2023-05-03 21:16:57 36

原创 华为OD机试真题-模拟商场优惠打折【2023Q1】

每个人结账使用优惠券时有以下限制:每人每次只能用两种优惠券,并且同一种优惠券必须一次用完, 不能跟别的穿插使用(比如用一张满减,再用一张打折,再用一张满减,这种顺序不行)。:满100减10,满200减20,满300减30,满400减40,以此类推不限制使用;第一行三个数字m,n,k,分别表示每个人可以使用的满减券、打折券和无门槛券的数量。模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。输出每个人使用券之后的最低价格和对应使用优惠券的数量。第二个人使用 3 张满减券和5张无门槛券价格最低。

2023-05-03 21:13:16 38

原创 华为OD机试真题-过滤组合字符串【2023Q1】

和一个屏蔽字符串“ux”,那么“78”可以组成多个字符串例如:“ux”,“uw”,“vx”,“vw”,过滤这些完全包含屏蔽字符串的每一个字符的字符串,然后输出剩下的字符串。0 关联 “a”,“b”,“c”例如7关联"u",“v”,8关联"x",“w”,输入一个字符串例如“78”,1 关联 “d”,“e”,“f”2 关联 “g”,“h”,“i”3 关联 “j”,“k”,“l”4 关联 “m”,“n”,“o”5 关联 “p”,“q”,“r”7 关联 “u”,“v”8 关联 “w”,“x”

2023-05-03 21:10:36 42

原创 华为OD机试真题-完美走位/滑动窗口【2023Q1】

输入一个长度为4的倍数的字符串,字符串中仅包含WASD四个字母。将这个字符串中的连续子串用同等长度的仅包含WASD的字符串替换,如果替换后整个字符串中WASD四个字母出现的频数相同,那么我们称替换后的字符串是“完美走位”。求子串的最小长度。如果输入字符串已经平衡则输出0。一行字符表示给定的字符串s。数据范围: 1<=n<=10^5且n是4的倍数,字符串中仅包含WASD四个字母。一个整数表示答案输入: WASDAASD输出: 1说明: 将第二个A替换为W,即可得到完美走位。输入: AAAA。

2023-05-03 21:07:07 128

原创 华为OD机试真题-羊狼农夫过河/深度优先搜索【2023Q1】

羊、狼、农夫都在岸边,当羊的数量小于狼的数量时,狼会攻击羊,农夫则会损失羊。在 transport 函数中,遍历尝试所有可能的运输组合,保证组合中羊的数量大于等于狼的数量,以防止羊被狼吃掉;在递归过程中,如果发现某种组合能够使得所有羊和狼都运到对岸,且所需次数小于当前记录的最小次数,则更新最小次数;备注:农夫在或农夫离开后羊的数量大于狼的数量时狼不会攻击羊。农夫自身不占用船的容量。输出不损失羊情况下将全部羊和狼运到对岸需要的最小次数。第一行输入为M,N,X, 分别代表羊的数量,狼的数量,小船的容量。

2023-05-02 22:01:39 51

原创 华为OD机试真题-真正的密码/集合【2023Q1】

在一行中输入一个字符串数组,如果其中一个字符串的所有以索引0开头的子串在数组中都有,那么这个字符串就是潜在密码,在所有潜在密码中最长的是真正的密码,如果有多个长度相同的真正的密码,那么取字典序最大的为唯一的真正的密码,求唯一的真正的密码。遍历输入的字符串数组,针对每一个字符串,从索引1开始,判断其所有以索引0开头的子串是否在HashSet中;如果当前潜在密码长度等于真正的密码长度,但字典序大于真正的密码,更新真正的密码为当前潜在密码;如果当前潜在密码长度大于真正的密码长度,更新真正的密码为当前潜在密码;

2023-05-02 21:59:21 38

原创 华为OD机试真题-最多颜色的车辆/滑动窗口【2023Q1】

在一个狭小的路口,每秒只能通过一辆车,假设车辆的颜色只有 3 种,找出 N 秒内经过的最多颜色的车辆数量。第一行输入的是通过的车辆颜色信息。[0,1,1,2] 代表4 秒钟通过的车辆颜色分别是 0 , 1 , 1 , 2。遍历剩余车辆,逐个更新 carCount,并计算当前窗口的最大颜色数量,更新 maxColorCount。初始化一个长度为 3 的数组 carCount,用于统计每种颜色的车辆数量。例为:[1,2,1]在 2 秒时间窗内,每个颜色最多出现1 次。输出指定时间窗内经过的最多颜色的车辆数量。

2023-05-02 21:57:03 71

原创 华为OD机试真题-最小调整顺序次数【2023Q1】

给定一个队列,但是这个队列比较特殊,可以从头部添加数据,也可以从尾部添加数据,但是只能从头部删除数据。但是在添加数据的过程中,也会删除数据,要求删除必须按照1~n按照顺序进行删除,所以在删除时,可以根据需要调整队列中数字的顺序以满足删除条件。3.如果不相等,则调整队列顺序,从队列头部删除元素,将调整次数加 1,将 start 加 1。第7步:头部删除2,调整顺序再删除,还剩[3,4,5]第8步:头部删除3,无需调整,还剩[4,5]第3步:头部删除1,无需调整,还剩[2]第10步:头部删除5,无需调整。

2023-05-02 21:54:48 26

原创 华为OD机试真题-简单的压缩算法/栈【2023Q1】

{A3B1{C}3}3代表A字符重复3次,B字符重复1次,花括号中的C字符重复3次,最外层花括号中的AAABCCC重复3次。3.遇到字母字符:判断下一个字符是否是数字,若是数字,则将当前字母重复拼接后入栈;2、花括号中的字符串加数字N,表示花括号中的字符重复N次。3、字符加N和花括号后面加N,支持任意的嵌套,包括互相嵌套,例如:压缩内容可以{A3B1{C}3}3。2.遇到字符 ‘}’:计算重复次数,将栈中的字符组合成一个字符串,重复拼接后再入栈。最后,将栈中的字符串顺序拼接,得到解压缩后的字符串。

2023-05-02 21:52:10 47

原创 华为OD机试真题-不含101的数【2023Q1】

首先,读取输入的整数区间[l, r]。小明在学习二进制时,发现了一类不含 101的数,也就是:将数字用二进制表示,不能出现 101。样例解释:区间 [1,10] 内, 5 的二进制表示为 101 ,10的二进制表示为 1010 ,因此区间 [ 1 , 10 ] 内有 10−2=8个不含 101的数。样例解释:区间 [10,20] 内,满足条件的数字有 [12,14,15,16,17,18,19] 因此答案为 7。输出的唯一一行包含一个整数,表示在 [l,r] 区间内一共有几个不含 101 的数。

2023-05-02 21:48:44 56

原创 华为OD机试真题-单向链表的中间节点/哈希表【2023Q1】

首先,读取链表头节点的地址和输入节点的数量。然后,创建一个哈希映射,用于存储地址与节点的映射关系。遍历链表,计算链表的长度。找到链表的中间节点,奇数长度时取中间节点,偶数长度时取中间右侧节点。后续输入每行表示一个节点,格式: "节点地址 节点值 下一个节点地址(-1表示空指针)“求单向链表中间的节点值,如果奇数个节点取中间,偶数个取偏右边的那个值。输入保证链表不会出现环,并且可能存在一些节点不属于链表。第一行 链表头节点地址path 后续输入的节点数n。

2023-05-02 21:46:08 30

原创 华为OD机试真题-等和子数组的最小和【2023Q1】

接下来,遍历所有可能的子集和 i,如果 dp[i] 为 false,表示该子集和不能由 k 个和相等的子集表示,跳过该子集。如果 dp[i] 为 true,遍历数组中的元素 j,如果当前元素可以添加到子集中(子集和加当前元素不超过目标和),则更新 dp 和 curSum 数组。然后,从 m(数组大小)到 1,遍历所有可能的分组数量 k,判断是否可以将数组分为 k 个和相等的子集。定义一个布尔数组 dp,dp[i] 表示表示 nums 的子集和为 i 时,是否可以用 k 个和相等的子集表示。

2023-05-02 21:33:30 57

原创 华为OD机试真题-无向染色图【2023Q1】

使用位运算表示节点颜色,1表示红色,0表示黑色。对于每一种方案,检查每条边,判断相邻节点颜色是否满足题目要求(相邻节点不能同时为红色)。说明:4个节点,4条边,1号节点和2号节点相连,2号节点和4号节点相连,3号节点和4号节点相连,1号节点和3号节点相连,若想必须保证相邻两个节点不能同时为红色,总共7种方案。给一个无向图染色,可以填红黑两种颜色,必须保证相邻两个节点不能同时为红色,输出有多少种不同的染色方案?数据范围:1 <= M <= 15,0 <= N <= M * 3,不能保证所有节点都是连通的。

2023-05-02 21:29:33 132

原创 华为OD机试真题-上班之路【2023Q1】

首先,遍历地图,找到 Jungle 的家所在的位置。在搜索过程中,需要记录已经使用的拐弯次数和清除路障的次数。如果需要清除路障,需要检查是否还有剩余的清除次数。(2)”*” - 路障,不可达到;其中我们会限制Jungle拐弯的次数,同时Jungle可以清除给定个数的路障,现在你的任务是计算Jungle是否可以从家里出发到达公司。输入的第一行为两个整数tc(o<tc<100)t代表可以拐弯的次数,c代表可以清除的路障个数。Jungle 生活在美丽的蓝鲸城,大马路都是方方正正,但是每天马路的封闭情况都不一样。

2023-05-02 21:24:31 27

原创 华为OD机试真题-租车骑绿岛/排序/滑动指针【2023Q1】

使用两个指针,一个指向最轻的人(left),另一个指向最重的人(right)。如果当前体重总和小于等于自行车的最大载重,说明这两个人可以共享一辆自行车,将左指针向右移动一位,右指针向左移动一位,更新当前体重总和,自行车数量加1。如果当前体重总和大于自行车的最大载重,说明最重的那个人需要单独使用一辆自行车,将右指针向左移动一位,更新当前体重总和,自行车数量加1。此时,如果左指针等于右指针,表示还有一个人没有分配自行车,所以自行车数量再加1。第二行,n个数字,代表每个人的体重,体重都小于等于自行车限重m。

2023-05-01 23:18:22 96 1

原创 华为OD机试真题-最大化控制资源成本【2023Q1】

一共有三个任务,第一个任务在时间区间【2,3】运行,占用1个服务 器,第二个任务在时间区间【6,9】运行,占用2个服务器,第三个任务在时间区间【0,5】运行,占用1个服务器,需要最多服务器的时间 区间为【2,3】和【6,9】,需要2个服务器。对于每个任务,在优先队列中检查已完成任务,若存在已完成任务,将其移除并减少临时服务器数量。一共两个任务,第一个任务在时间区间【3,9】运行,占用2个服务 器,第二个任务在时间区间【4,7】运行,占用3个服务器,需要最多服务器的时间区间为【4,7】,需要5个服务器。

2023-05-01 23:12:53 30

原创 华为OD机试真题-区块链转储系统【2023Q1】

通过遍历文件大小数组(比如示例1中的【100 300 500 400 400 150 100】),不断调整窗口左右边界,使得窗口和尽可能接近磁盘容量。区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1.F2…云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转的文件之和不能超过SATA盘的容量。2.如果小于磁盘容量,将右边界的文件大小加入窗口和,并更新最大窗口和;说明: 最大序列和为1000,序列为[100,500,400]

2023-05-01 23:08:27 30

原创 华为OD机试真题-新词挖掘【2023Q1】

然后,遍历待挖掘的文本内容content,在每次迭代中,将窗口右端点的字符加入contentMap中。当窗口大小大于等于word长度时,收缩窗口的左侧,检查当前窗口是否是一个有效的新词。给出一个待挖掘问题内容字符串Content和一人词的字符串word,找到content中所有word的新词。起始索引等于0的子串是“qwe”,它是word的新词。起始索引等于0的子串是”ab“,它是word的新词。起始索引等于1的子串是”ba“,它是word的新词。起始索引等于2的子串是”ab“,它是word的新词。

2023-05-01 23:04:51 28

原创 华为OD机试真题-区域发电量统计【2023Q1】

某电力公司希望在这里建设多个光伏电站,生产清洁能源对每平方公里的土地进行了发电评估,其中不能建设的区域发电量为0kw,可以发电的区域根据光照,地形等给出了每平方公里年发电量x千瓦。我们希望能够找到其中集中的矩形区域建设电站,能够获得良好的收益.首先计算输入矩阵的前缀和矩阵,然后遍历前缀和矩阵,计算边长为c的正方形子矩阵的发电量和。第一行输入为调研的地区长,宽,以及准备建设的电站【长宽相等,为正方形】的边长最低要求的发电量。调研的区域大小为长2宽5的矩形,我们要建设的电站的边长为2,建设电站最低发电量为6.

2023-05-01 23:02:23 35

原创 华为OD机试真题-统计友好度最大值【2023Q1】

Fn组成,Fi值为0、1或2。其中0代表空置,1代表有人,2代表障碍物.1<=n<=10000,Fi值为0、1或2。其中0代表空置,1代表有人,2代表障碍物。遍历工位序列,计算每个空位的左边和右边的连续老员工数,并将它们相加得到该空位的友好度。因障碍物隔断,左边得2分,右边只能得1分。在遍历过程中,记录友好度的最大值,最后输出这个最大值。2、为方便新员工学习求助,优先安排友好度高的空位。所有空位中友好度的最大值。说明 第1个位置和第3个位置,友好度均为1.给出工位序列,求所有空位中友好度的最大值。

2023-05-01 22:57:19 157 1

原创 华为OD机试真题-开租建站【2023Q1】

然后,对于队列中的每个任务,将它们的出度任务的入度减1,表示完成当前任务后,它们的依赖任务数减少。如果某个任务的入度减少到0,将它加入队列,表示它的所有依赖任务已经完成,可以开始执行。3:任务有多个依赖任务则需要等所有依赖任务都部署完该任务才能部署。2:部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。先同时部署任务0和任务1,然后部署任务2,最后同时部署任务3和任务4.最短开站时间为3。先同时部署任务0,任务1,任务2。输入保证部署任务之间的依赖不会存在环。

2023-05-01 22:26:52 65 1

原创 华为OD机试真题-组装数组【2023Q1】

3.R中的元素最多只能有1个不在N中,且比N中的数字都要小(不能为负数) 输入描述 第一行输入是连续数组N,采用空格分隔第二行输入数字M 输出描述 输出的是组装办法数量,int类型。当前总和小于等于m且差值小于nums中的最小值,则计数器加1;对于每一个数值,都需要尝试选取和不选取两种情况,进入递归搜索。备注 1≤M≤30 1 ≤ N.length ≤ 1000。说明 共两种组装办法,分别是[2,2,1],[2,3]说明 只有1种组装办法,就是[2,2,1]2.R中的元素可以从N中重复选取。

2023-05-01 22:19:54 52 1

原创 华为OD机试真题-施肥问题【2023Q1】

如果总天数大于规定天数,则需要增加施肥机的能效,更新左边界;否则,施肥机能效足够,将其记录为当前的最优解,并更新右边界。首先需要计算每个果园的施肥时间,即果园面积除以施肥机能效。然后找到最小的施肥机能效,保证施肥任务能在规定时间内完成。对果园面积进行排序,找到最大最小值,使用二分查找法求解最小的施肥机能效。如果施肥天数小于果园数量,则无法完成施肥任务,返回-1。如果施肥天数等于果园数量,则直接返回最大果园面积。在每次迭代中,将施肥机能效设为左右界的中间值。计算施肥任务完成所需的总天数。

2023-05-01 22:11:58 50

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除