29 lines
838 B
Python
29 lines
838 B
Python
class Solution:
|
|
def summaryRanges(self, nums: list[int]) -> list[str]:
|
|
if len(nums) == 0:
|
|
return []
|
|
rlt = []
|
|
start = nums[0]
|
|
end = start
|
|
last = start
|
|
for idx, ele in enumerate(nums[1:]):
|
|
if ele == last + 1:
|
|
end = ele
|
|
else:
|
|
rlt.append((start, end))
|
|
start = ele
|
|
end = ele
|
|
last = ele
|
|
rlt.append((start,end))
|
|
str_rlt = []
|
|
for ele in rlt:
|
|
if ele[0] == ele[1]:
|
|
str_rlt.append(f"{ele[0]}")
|
|
else:
|
|
str_rlt.append(f"{ele[0]}->{ele[1]}")
|
|
return str_rlt
|
|
|
|
sol = Solution()
|
|
print(sol.summaryRanges([0,1,2,4,5,7]))
|
|
print(sol.summaryRanges([0,2,3,4,6,8,9]))
|
|
|