LeetCode #1656. Design an Ordered Stream
题目
1656. Design an Ordered Stream
解题方法
构造函数里面设置一个stream列表初始化为空值,长度为n,再初始化ptr=0。插入操作直接把stream[id-1]设置为插入的值,然后把ptr从当前位置向后移动并不断把元素加进返回值rat中即可。
时间复杂度:O(n)
空间复杂度:O(n)
代码
class OrderedStream:
def __init__(self, n: int):
self.stream = ["" for _ in range(n)]
self.ptr = 0
def insert(self, id: int, value: str) -> List[str]:
self.stream[id-1] = value
rat = []
while self.ptr < len(self.stream) and self.stream[self.ptr] != "":
rat.append(self.stream[self.ptr])
self.ptr += 1
return rat