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
相关推荐
似水এ᭄往昔11 分钟前
【C++】--封装红⿊树实现mymap和myset
开发语言·数据结构·c++·算法·stl
咕噜企业分发小米13 分钟前
腾讯云向量数据库HNSW索引如何更新?
人工智能·算法·腾讯云
lcreek17 分钟前
LeetCode215. 数组中的第K个最大元素、LeetCode912. 排序数组
python·算法·leetcode
Einsail32 分钟前
天梯赛题解(3-6)
算法
杜子不疼.32 分钟前
【LeetCode 852 & 162_二分查找】山脉数组的峰顶索引 & 寻找峰值元素
算法·leetcode·职场和发展
山楂树の36 分钟前
搜索插入位置(二分查找)
数据结构·算法
东东的脑洞38 分钟前
【面试突击】MySQL 查询优化核心面试知识点
mysql·面试·职场和发展
helloyangkl1 小时前
Draco——参数说明
算法
!chen1 小时前
自适应滤波算法FPGA实现思路
算法·fpga开发
救救孩子把1 小时前
51-机器学习与大模型开发数学教程-4-13 EM算法与混合模型
人工智能·算法·机器学习