给定一个有序的list, 需要根据数据的连续性进行区间的汇总
实例如下:
解决方法:
设置左右指针,固定左指针,当右指针对应的数+1=右指针+1对应的数 and 右指针不要越界,就移动右指针,直到跳出while,并更新左指针=右指针+1
class Solution(object):def summaryRanges(self, nums: List[int]) -> List[str]:""":type nums: List[int]:rtype: List[str]"""def return_str(input_list):if input_list[0] == input_list[1]:return str(nums[input_list[0]])else:return f"{nums[input_list[0]]}->{nums[input_list[1]]}"start = 0num_len = len(nums)result = []while start < num_len:end = startwhile end + 1 < num_len and nums[end + 1] == nums[end] + 1:end += 1result.append(return_str([start, end]))start = end + 1return result