华为校招机试 - 分配资源ID(20230426)

题目描述

给定一个管理ID的资源池,可以从资源池中分配资源ID和释放资源ID,

分配方式有动态分配和指定分配:

  • 动态分配是从资源池的开始分配一个资源ID
  • 指定分配是指定一个资源ID进行分配

无论哪种分配方式释放资源ID时都需要放到资源池的尾部。

执行一系列操作后,请问资源池的第一个空闲资源ID应该是多少?

注意:

  • 资源池的初始顺序是从小到大
  • 资源池中空闲资源ID不足时,动态分配失败,对资源池不进行任何操作
  • 指定分配资源ID已经被占用或者不在资源池范围内时,对资源池不进行任何操作
  • 释放资源ID不在资源池范围内时或者已经是空闲资源ID时,对资源池不进行任何操作
  • 保证每个用例最后都有空闲资源ID

输入描述

第一行是资源池的范围

第二行是操作个数

第三行开始,第一个数字代表操作类型,1表示动态分配,2表示指定分配,3表示释放

  • 如果第一个数字是1,第二个表示分配的个数
  • 如果第一个数字是2,第二个表示分配的资源ID
  • 如果第一个数字是3,第二个表示释放的资源ID

输出描述

资源池的第一个空闲资源ID

用例

猜你喜欢

转载自blog.csdn.net/qfc_128220/article/details/130395908