[leetcode] 228. 汇总区间

给定一个 无重复元素 的 有序 整数数组 nums 。

返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。

列表中的每个区间范围 [a,b] 应该按如下格式输出:

  • “a->b” ,如果 a != b
  • “a” ,如果 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"

提示:

  • 0 <= nums.length <= 20
  • -231 <= nums[i] <= 231 - 1
  • nums 中的所有值都 互不相同
  • nums 按升序排列

Python实现

这道题虽然easy,但是如果代码写的不好,容易翻车。

class Solution:
    def summaryRanges(self, nums: List[int]) -> List[str]:
        res = []
        if len(nums)==0:
            return res
        start = nums[0]
        
        for i in range(1,len(nums)):
            if nums[i]!=nums[i-1]+1:
                if start == nums[i-1]:
                    res.append(str(nums[i-1]))
                else:
                    res.append(str(start)+'->'+str(nums[i-1]))
                start = nums[i]
        
        if start == nums[-1]:
            res.append(str(nums[-1]))
        else:
            res.append(str(start)+'->'+str(nums[-1]))
        return res

相关推荐

  1. [leetcode] 228. 汇总区间

    2024-03-31 14:42:04       36 阅读
  2. 汇总区间算法(leetcode228题)

    2024-03-31 14:42:04       51 阅读
  3. 【数组】Leetcode 228. 汇总区间【简单】

    2024-03-31 14:42:04       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-31 14:42:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-31 14:42:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-31 14:42:04       82 阅读
  4. Python语言-面向对象

    2024-03-31 14:42:04       91 阅读

热门阅读

  1. OD C卷 - 螺旋数组矩阵

    2024-03-31 14:42:04       41 阅读
  2. Clickhouse 查看分区情况

    2024-03-31 14:42:04       46 阅读
  3. centos7.5 安装gitlab-ce (Omnibus)

    2024-03-31 14:42:04       40 阅读
  4. 【Go】goroutine并发常见的变量覆盖案例

    2024-03-31 14:42:04       40 阅读
  5. Vue的侦听方法和生命周期

    2024-03-31 14:42:04       41 阅读
  6. Viso的使用

    2024-03-31 14:42:04       57 阅读
  7. LeetCode 84. 柱状图中最大的矩形

    2024-03-31 14:42:04       34 阅读
  8. 【BlossomRPC】一个完整的含源码和文档的RPC项目

    2024-03-31 14:42:04       35 阅读