← 返回 roblox 的题目列表Manage ID Pool
类型:online_judge
Implement a class to manage an ID pool. The ID range is [1, MaxLong]. Implement two methods:
acquire(): Returns the smallest available ID from the pool, marking it as occupied.
release(id): Returns the ID back to the pool, making it available for allocation again.
Note:
All IDs are available initially.
It should always return the lowest ID available in the pool.
Once an ID is released, it becomes available again.
Example Input:
pool = IdManager()
a = pool.acquire() # Assume returns 1
b = pool.acquire() # Assume returns 2
pool.release(a)
a = pool.acquire() # Assume now returns 1
Constraints:
The number of operations does not exceed 100,000.
ID range is from 1 to MaxLong.
Example
Input
5
acquire
acquire
release 1
acquire
release 2