华为OD机试 - 堆内存申请(Java & JS & Python & C & C++)
时间:2024-04-04 07:55:47 来源:网络cs 作者:胡椒 栏目:选词工具 阅读:
题目描述
有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为:优先紧接着前一块已使用内存,分配空间足够且最接近申请大小的空闲内存。
输入描述
第1行是1个整数,表示期望申请的内存字节数
第2到第N行是用空格分割的两个整数,表示当前已分配的内存的情况,每一行表示一块已分配的连续内存空间,每行的第1和第2个整数分别表示偏移地址和内存块大小,如:
0 1
3 2
表示 0 偏移地址开始的 1 个字节和 3 偏移地址开始的 2 个字节已被分配,其余内存空闲。
输出描述
若申请成功,输出申请到内存的偏移;
若申请失败,输出 -1。
备注
若输入信息不合法或无效,则申请失败 若没有足够的空间供分配,则申请失败 堆内存信息有区域重叠或有非法值等都是无效输入
用例
输入 | 1 0 1 3 2 |
输出 |
本文链接:https://www.kjpai.cn/news/2024-04-04/153668.html,文章来源:网络cs,作者:胡椒,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。