228. 汇总区间
给定一个无重复元素的有序整数数组 nums 。
返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。
列表中的每个区间范围 [a,b] 应该按如下格式输出:
“a->b” ,如果 a != b
“a” ,如果 a == b
class Solution:
def summaryRanges(self, nums: List[int]) -> List[str]:
i = 0
result = []
if len(nums) == 0:
return(nums)
elif len(nums) == 1: #这个判断可有可无
return([str(nums[0])])
else:
while i < len(nums):
start = i
while i< len(nums) - 1 and nums[i] + 1 == nums[i+1]:
i+=1
if start == i:
result.append(str(nums[i]))
else:
result.append(str(nums[start]) + '->' + str(nums[i]))
i+=1
return(result)