题目描述
给定一个正整数 n,表示需要申请的内存块数量。每个内存块的大小是固定的,为 blockSize 字节。你需要实现一个函数来模拟堆内存的申请过程,并返回分配内存所需的总字节数。
具体规则如下:
- 内存块申请顺序按照输入顺序进行。
- 如果当前堆内存不足以容纳新内存块,则分配失败,返回 -1。
- 内存申请成功后,更新堆内存的剩余空间。
输入:
- n:需要申请的内存块数量(正整数)。
- blockSize:每个内存块的大小(正整数)。
- heapSize:堆内存的总大小(正整数)。
- memoryRequests:一个整数数组,表示每次申请的内存块数量(数组中的每个元素都是正整数)。
输出:
- 如果内存分配成功,返回分配内存所需的总字节数。
- 如果内存分配失败,