将数据流变为多个不相交区间

给你一个由非负整数a,az,••…,an 组成的数据
流输入,请你将到目前为止看到的数字总结为不相交的
区问列表。
实现 SummaryRanges 类:
•summaryRanges()使用一个空数据流初始化对象。
。void addNum (int val) 向数据流中加入整数 va
l.
• int[1[] getIntervals()以不相交区间 [starti, endi〕 的列表形式返回对数据流中整数的总

实现 SummaryRanges 类:

class SummaryRanges:
    def __init__(self):
        self.intervals = []

    def addNum(self, val: int) -> None:
        if not self.intervals:
            self.intervals.append([val, val])
        else:
            inserted = False
            for i, interval in enumerate(self.intervals):
                if val + 1 < interval[0]:
                    self.intervals.insert(i, [val, val])
                    inserted = True
                    break
                elif val <= interval[1] + 1:
                    interval[1] = max(interval[1], val)
                    inserted = True
                    break
            if not inserted:
                self.intervals.append([val, val])

    def getIntervals(self) -> List[List[int]]:
        return self.intervals

如果答案对您有所帮助,望采纳。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^