地址:点击打开链接
这个看是不是连续的数,如果是话就给出开始和结尾的数,如果不是的话,就重新开始,设定begin和end指针遍历就行
class Solution(object):
def summaryRanges(self, nums):
"""
:type nums: List[int]
:rtype: List[str]
"""
if not nums:
return []
if len(nums) == 1:
return [str(nums[0])]
begin = 0
end = 0
ret = []
while end < len(nums) - 1:
if nums[end + 1] == nums[end] + 1:
end += 1
else:
if end != begin:
ret.append(str(nums[begin]) + '->' + str(nums[end]))
else:
ret.append(str(nums[begin]))
end += 1
begin = end
if end != begin:
ret.append(str(nums[begin]) + '->' + str(nums[end]))
else:
ret.append(str(nums[begin]))
return ret
本文介绍了一个算法,用于识别输入数列中的连续数序列,并将其表示为区间。通过设置起始和结束指针,算法遍历数列,区分连续与非连续序列,最后以简洁的区间形式呈现结果。
342

被折叠的 条评论
为什么被折叠?



