华为OD机试 -内存资源分配(Java) | 机试题+算法思路+考点+代码解析 【2023】

news/2024/5/19 10:16:51 标签: java, 算法, 数据结构, 华为, od

内存资源分配

题目

有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请,需要按需分配内存池中的资源,返回申请结果成功失败列表。分配规则如下:

1、分配的内存要大于等于内存申请量,存在满足需求的内存就必须分配,优先分配粒度小的,但内存不能拆分使用。

2、需要按申请顺序分配,先申请的先分配。

3、有可用内存分配则申请结果为true,没有可用内存分配则返回false。

注:不考虑内存释放。

输入描述:

输入为两行字符串:

第一行为内存池资源列表,包含内存粒度数据信息,粒度数据间用逗号分割,一个粒度信息内部用冒号分割,冒号前为内存粒度大小,冒号后为数量。资源列表不大于1024,每个粒度的数量不大于4096

第二行为申请列表,申请的内存大小间用逗号分隔。申请列表不大于100000

如:

ode>64:2,128:1,32:4,1:128
50,36,64,128,127
ode>

输出描述:

输出为内存池分配结果。

如:

ode>true,true,true,false,false
ode>

示例1

输入

ode>64:2,128:1,32:4,1:128
50,36,64,128,127
ode>

输出

ode>true,true,true,false,faode>

http://www.niftyadmin.cn/n/147857.html

相关文章

华为OD机试 - 求最多可以派出多少支团队(Java) | 机试题+算法思路+考点+代码解析 【2023】

求最多可以派出多少支团队 题目 用数组代表每个人的能力,一个比赛活动要求参赛团队的最低能力值为N,每个团队可以由1人或2人组成,且1个人只能参加1个团队,请计算出最多可以派出多少支符合要求的团队? 输入描述: 5 3 1 5 7 9 8第一行数组代表总人数,范围[1,500000] 第…

51单片机使用AT24C02

前言 本篇文章将带大家了解一个常用的存储器件AT24C02,使用此器件可以帮助我们保存一些数据,在单片机掉电后可以将需要的数据保存下来。 一、AT24C02介绍 AT24C02是Atmel公司推出的一款串行EEPROM存储器。它具有2K位存储单元,可以存储256个…

华为OD机试 -最多等和不相交连续子序列(Java) | 机试题+算法思路+考点+代码解析 【2023】

最多等和不相交连续子序列 题目 给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。 数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。 求一组连续子序列,组内子序列的数目最多。输出这个数目。 输入 第一行输入为…

华为OD机试 -箱子之形摆放(Java) | 机试题+算法思路+考点+代码解析 【2023】

箱子之形摆放 题目 有一批箱子(形式为字符串,设为str), 要求将这批箱子按从上到下以之字形的顺序摆放在宽度为 n 的空地,请输出箱子的摆放位置。 则输出结果为: AFG BE CD 输入 输入一行字符串,通过空格分隔,前面部分为字母或数字组成的字符串str,表示箱子; 后面…

华为OD机试 -字符串筛选排序(Java) | 机试题+算法思路+考点+代码解析 【2023】

字符串筛选排序 题目 输入一个由n个大小写字母组成的字符串,按照Ascii码值从小到大的排序规则,查找字符串中第k个最小ascii码值的字母(k>=1),输出该字母所在字符串的位置索引(字符串的第一个字符位置索引为0)。 k如果大于字符串长度,则输出最大ascii值的字母所在字…

华为OD机试 - 最小传递延迟(Java) | 机试题+算法思路+考点+代码解析 【2023】

最小传递延迟 题目 通讯网络中有N个网络节点 用1 ~ N进行标识 网络通过一个有向无环图进行表示 其中图的边的值,表示节点之间的消息传递延迟 现给定相连节点之间的延时列表times[i]={u,v,w} 其中u表示源节点,v表示目的节点,w表示u和v之间的消息传递延时 请计算给定源节点到…

华为OD机试 -相对开音节(Java) | 机试题+算法思路+考点+代码解析 【2023】

相对开音节 题目 相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e,常见的单词有bike、cake等。 给定一个字符串,以空格为分隔符,反转每个单词中的字母,若单词中包含如数字等其他非字母时不进行反转。 反转后计算其中含有相对开音节结构的子串个数(连续的子串…

Java基础-集合框架-List、Map、Set(作者原创、超级干货!)

Java基础-集合框架-List、Map、Set Java 集合框架提供了 List、Map 和 Set 三个主要接口,它们分别代表了列表、映射和集合三种数据结构。下面是它们的详细介绍以及主要实现类及其底层实现: 1、List List 是一个有序的集合,它允许存储重复的…