题目:​​原题链接​(中等)

标签:数组、设计

解法

时间复杂度

空间复杂度

执行用时

Ans 1 (Python)

RLEIterator = O ( A ) ; next = O ( N )

O ( A )

48ms (55.38%)

Ans 2 (Python)

Ans 3 (Python)

解法一:

class RLEIterator:

def __init__(self, A: List[int]):
self.lst = []
for i in range(0, len(A), 2):
if A[i] > 0:
self.lst.append([A[i + 1], A[i]])
self.lst.reverse()
print(self.lst)

def next(self, n: int) -> int:
while self.lst:
val, num = self.lst.pop()
if num < n:
n -= num
elif num == n:
return val
else:
num -= n
self.lst.append([val, num])
return val
return -1