力扣https://leetcode.cn/problems/summary-ranges/solutions/553645/hui-zong-qu-jian-by-leetcode-solution-6zrs/?envTypestudy-plan-v2envIdtop-interview-150给定一个 无重复元素 的 有序 整数数组 nums 。区间 [a,b] 是从 a 到 b包含的所有整数的集合。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说nums 的每个元素都恰好被某个区间范围所覆盖并且不存在属于某个区间但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出a-b 如果 a ! ba 如果 a b示例 1输入nums [0,1,2,4,5,7]输出[0-2,4-5,7]解释区间范围是[0,2] -- 0-2[4,5] -- 4-5[7,7] -- 7示例 2输入nums [0,2,3,4,6,8,9]输出[0,2-4,6,8-9]解释区间范围是[0,0] -- 0[2,4] -- 2-4[6,6] -- 6[8,9] -- 8-9方法一一次遍历class Solution: def summaryRanges(self, nums: List[int]) - List[str]: range_nums [] i, n 0, len(nums) while i n: left i while i 1 n and nums[i] 1 nums[i 1]: i 1 s str(nums[left]) if left i: s f-{nums[i]} range_nums.append(s) i 1 return range_numsfunc summaryRanges(nums []int) (ans []string) { for i, n : 0, len(nums); i n; { left : i for i; i n nums[i-1]1 nums[i]; i { } s : strconv.Itoa(nums[left]) if left i-1 { s - strconv.Itoa(nums[i-1]) } ans append(ans, s) } return }
汇总区间[【数组】
力扣https://leetcode.cn/problems/summary-ranges/solutions/553645/hui-zong-qu-jian-by-leetcode-solution-6zrs/?envTypestudy-plan-v2envIdtop-interview-150给定一个 无重复元素 的 有序 整数数组 nums 。区间 [a,b] 是从 a 到 b包含的所有整数的集合。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说nums 的每个元素都恰好被某个区间范围所覆盖并且不存在属于某个区间但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出a-b 如果 a ! ba 如果 a b示例 1输入nums [0,1,2,4,5,7]输出[0-2,4-5,7]解释区间范围是[0,2] -- 0-2[4,5] -- 4-5[7,7] -- 7示例 2输入nums [0,2,3,4,6,8,9]输出[0,2-4,6,8-9]解释区间范围是[0,0] -- 0[2,4] -- 2-4[6,6] -- 6[8,9] -- 8-9方法一一次遍历class Solution: def summaryRanges(self, nums: List[int]) - List[str]: range_nums [] i, n 0, len(nums) while i n: left i while i 1 n and nums[i] 1 nums[i 1]: i 1 s str(nums[left]) if left i: s f-{nums[i]} range_nums.append(s) i 1 return range_numsfunc summaryRanges(nums []int) (ans []string) { for i, n : 0, len(nums); i n; { left : i for i; i n nums[i-1]1 nums[i]; i { } s : strconv.Itoa(nums[left]) if left i-1 { s - strconv.Itoa(nums[i-1]) } ans append(ans, s) } return }