python-leetcode-汇总区间

228. 汇总区间 - 力扣(LeetCode)

python 复制代码
class Solution:
    def summaryRanges(self, nums: List[int]) -> List[str]:
        if not nums:
            return []

        result = []
        start = nums[0]

        for i in range(1, len(nums)):
            if nums[i] != nums[i-1] + 1:  # 发现不连续的情况
                if start == nums[i-1]:
                    result.append(str(start))
                else:
                    result.append(f"{start}->{nums[i-1]}")
                start = nums[i]

        # 最后一个区间
        if start == nums[-1]:
            result.append(str(start))
        else:
            result.append(f"{start}->{nums[-1]}")

        return result
相关推荐
m0_dawn2 小时前
《贪心算法:原理剖析与典型例题精解》
python·算法·职场和发展·贪心算法·蓝桥杯
invincible_Tang2 小时前
贪心算法(题2)最大不相交区间数量
算法·贪心算法
AIzealot无4 小时前
力扣hot100之螺旋矩阵
算法·leetcode·矩阵
兑生4 小时前
力扣面试150 长度最小的子数组 滑动窗口
算法·leetcode·面试
miilue4 小时前
[LeetCode] 链表I — 704#设计链表 | 203#移除链表元素 | 206#反转链表 | 递归法
java·开发语言·c++·算法·leetcode·链表
Tisfy4 小时前
LeetCode 2266.统计打字方案数:排列组合
数学·算法·leetcode·动态规划·题解·排列组合
win水4 小时前
数据结构(初阶)(二)----顺序表
c语言·数据结构·算法
万事可爱^5 小时前
算法入门(九)—— 无监督学习介绍与K-Means实战(内附Kaggle实战源码与数据集)
人工智能·学习·算法·机器学习·kmeans
小菜鸟博士5 小时前
大模型学习笔记 - 第一期 - Milvus向量数据库
数据库·笔记·学习·算法·milvus