自己写的:
class Solution: def summaryRanges(self, nums): my_li = [] # 创建一个空列表用于存储结果 if not nums: # 如果输入列表为空 return my_li # 返回空列表 if len(nums) == 1: # 如果输入列表只有一个元素 my_li.append(f"{nums[0]}") # 将该元素添加到结果列表中 start = nums[0] # 初始化区间起始值为列表的第一个元素 for i in range(len(nums) - 1): # 遍历列表元素,注意遍历范围是长度减一 if nums[i] != nums[i + 1] - 1: # 如果当前元素与下一个元素不连续 end = nums[i] # 结束值为当前元素 if start == end: # 如果起始值等于结束值 my_li.append(f"{start}") # 添加单个值到结果列表 if start != end: # 如果起始值不等于结束值 my_li.append(f"{start}->{end}") # 添加区间到结果列表 start = nums[i + 1] # 更新起始值为下一个元素 if i == len(nums) - 2: # 如果已经到达倒数第二个元素 my_li.append(f"{nums[-1]}") # 直接添加最后一个元素到结果列表 if nums[i] == nums[i + 1] - 1: # 如果当前元素与下一个元素连续 if i == len(nums) - 2: # 如果已经到达倒数第二个元素 end = nums[-1] # 结束值为最后一个元素 my_li.append(f"{start}->{end}") # 添加起始值到结束值的区间到结果列表 return my_li # 返回结果列表
标签:nums,元素,汇总,leedcode,列表,start,区间,li,my From: https://www.cnblogs.com/yyyjw/p/18079773