设计有序流

leetcode 1656. 设计有序流

该题实现了一种简单的数据结构,可以允许数据以不同的顺序写入,但是以给定的顺序读取,并且每次写入后都可以以给定顺序返回下一批有序数据。

class OrderedStream:

    def __init__(self, n: int):
        self.ptr = 1
        self.arr = [None] * (n + 1)


    def insert(self, idKey: int, value: str) -> List[str]:
        self.arr[idKey] = value
        if self.arr[self.ptr] is None:
            return []
        else:
            l = []
            p = self.ptr
            while (p < len(self.arr)):
                # print(p)
                v = self.arr[p]
                if v is None:
                    break
                l.append(v)
                p += 1
            self.ptr = p
            return l
posted @ 2022-08-16 22:56  yury757  阅读(35)  评论(0)    收藏  举报