
OD考试
文章平均质量分 54
OD算法题记录
点点星火
这个作者很懒,什么都没留下…
展开
-
最大化控制资源成本
公司创新实验室正在研究如何最小化资源成本,最大化资源利用率,请你设计算法帮他们解决一个任务分布问题:有taskNum项任务,每人任务有开始时间(startTime) ,结更时间(endTme) 并行度(paralelism) 三个属性,并行度是指这个任务运行时将会占用的服务器数量,一个服务器在每个时刻可以被任意任务使用但最多被一个任务占用,任务运行完成立即释放(结束时刻不占用)。思路好了很简单,定义个数组记录每个时刻所需的任务量,然后获取这个数组的最大任务量即可。一个整数,表示最少需要的服务器数量。原创 2024-07-18 14:47:20 · 338 阅读 · 0 评论 -
通话不中断的最短路径
给定一个MxN的网格,其中每个单元格都填有数字,数字大小表示覆盖信号强度。灰色网格代表空地,橙色网格代表信号覆盖区域,绿色网格代表基站,绿色网格内数字大小表示该基站发射信号的初始强度。基站信号每向外(上下左右)传播一格,信号强度减1,最小减为0,表示无信号,如下图示。当某个位置可以同时接收到多个基站的信号时,取其中接收信号强度的最大值作为该位置的信号强度。对于给定网格,请判断是否存在一条路径,使得从左上角移动到右下角过程中信号不中断,只能上下左右移动。原创 2024-07-18 11:48:03 · 607 阅读 · 0 评论 -
可以组成网络的服务器
在一个机房中,服务器的位置标识在n*m的整数矩阵网格中,1表示单元格上有服务器,0表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网,请你统计机房中最大的局域网包含的服务器个数。第一行输入两个正整数,n和m,0原创 2024-07-17 17:10:40 · 357 阅读 · 0 评论 -
体育场找座位
在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位的情况下,最多还能坐下多少名观众。一个数组,用来标识某一排座位中,每个座位是否已经坐人。0表示该座位没有坐人,1表示该座位已经坐人。整数,在不移动现有观众座位的情况下,最多还能坐下多少名观众。1 <= 数组长度 <= 10000。原创 2024-07-17 14:43:47 · 283 阅读 · 0 评论 -
求执行时长
为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。假设GPU最多一次执行n个任务,一次执行耗时1秒,在保证GPU不空闲情况下,最少需要多长时间执行完成。第一个参数为GPU一次最多执行的任务个数,取值范围[1, 10000]第二个参数为任务数组长度,取值范围[1, 10000]第三个参数为任务数组,数字范围[1, 10000]执行完所有任务最少需要多少秒。原创 2024-07-16 15:07:19 · 202 阅读 · 0 评论 -
求满足条件的最长子串的长度
数组遍历原创 2024-07-16 14:26:43 · 348 阅读 · 0 评论 -
OD机试 - 图像物体的边界 - 深度优先搜索
如下图,与像素5的格子相邻的像素1的格子(0,0)、(0,1)、(0,2)、(1,0)、(1,2)、(2,0)、(2,1)、(2,2)、(4,4)、(4,5)、(5,4)相邻,为1个边界,(4,4)、(4,5)、(5,4)相邻,为1个边界。像素1代表的物体的边界指与像素5相邻的像素1的格子,边界相邻的属于同一个边界,相邻需要考虑8个方向(上,下,左,右,左上,左下,右上,右下)。如果没有边界输出0(比如只存在像素1,或者只存在像素5)。第二行开始,是M行N列的像素的二维数组,仅包含像素1和5;原创 2024-06-04 16:51:05 · 364 阅读 · 0 评论 -
OD机试 - 垃圾信息拦截
第一行为条目数目,接下来几行是具体的条目,每个条目,是一对ID,第一个数字是发送者ID,后面的数字是接收者ID,中间空格隔开,所有的ID都为无符号整型,ID最大值为100;是否理解为1给2发了两次,但是2只给1发送1次,那没给1发送的人数应该是1还是0呢,如果算0的话,要在收集到输入后,对list做个去重。输出该ID是否为垃圾短信发送者(是输出 true,否则输出 false),并且按序列输出L、M的值(由于N值不唯一,不需要输出);没有发过短信给A的人数L为4,A接收的短信数 M为1。原创 2024-06-04 11:53:59 · 251 阅读 · 0 评论 -
华为OD机试 - 乘坐保密电梯 - 逻辑分析
2.目标是M层,然后给定一串数据,这一串数据进行一加一减后,假设最终达到M,那么,如果减去M,则为0,所以,可以理解为输入的数据求和再加上M,除以2,得到的是中位数(是这个名词么),然后输入数据的加数和减数可以等于这个中位数。1.本题存在争议点:前后两次必须相反,但没有要求输入的数组是否可以为负数,如果可以,则必然有前后不相反的,据此反推,是否可以理解为输入只能为正数?但因为题目和样例不足,搁置。1 2 6 和 6 2 1 都满足条件,按照先处理大值的规则,输出结果为 6 2 1。原创 2024-06-04 10:49:30 · 347 阅读 · 0 评论