228.汇总区间
给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。
输入: [0,2,3,4,6,8,9]
输出: ["0","2->4","6","8->9"]
解释: 2,3,4 可组成一个连续的区间; 8,9 可组成一个连续的区间。
class Solution:
def summaryRanges(self, nums: List[int]) -> List[str]:
def outputRange(start, end):
if start == end:
return str(start)
return "{}->{}".format(start, end)
if not nums:
return []
ans = []
start = 0
for i in range(0, len(nums) - 1): # 中间存在割断
if nums[i] + 1 != nums[i + 1]:
ans.append(outputRange(nums[start], nums[i]))
start = i + 1
ans.append(outputRange(nums[start], nums[-1])) # 中间不存在割断
return ans
# 将逐一递增的整数序列化简为(起点->终点)收集起来即可。