将所有范围端点清除到列表中,但将它们标记为开始/结束点.
[(5, S), (18, E), (12, S), (23, E), (15, S), (30, E)]
Run Code Online (Sandbox Code Playgroud)
按位置对它们进行排序,通过在终点之前放置起点来打破关系.
[(5, S), (12, S), (15, S), (18, E), (23, E), (30, E)]
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过遍历此列表来计算范围,跟踪到目前为止我们已经处理了多少个起始端点.如果我们看到一个起点,那就是输出新范围的开始.如果我们的计数是正数,我们必须首先结束当前范围.如果我们看到一个终点,则结束当前范围.
| 归档时间: |
|
| 查看次数: |
1651 次 |
| 最近记录: |