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_7066532320 分钟前
C++编译期数组操作
开发语言·c++·算法
故事和你9130 分钟前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
qq_4232339042 分钟前
C++与Python混合编程实战
开发语言·c++·算法
TracyCoder1231 小时前
LeetCode Hot100(19/100)——206. 反转链表
算法·leetcode
m0_715575341 小时前
分布式任务调度系统
开发语言·c++·算法
测试涛叔1 小时前
金三银四软件测试面试题(800道)
软件测试·面试·职场和发展
naruto_lnq1 小时前
泛型编程与STL设计思想
开发语言·c++·算法
踩坑记录2 小时前
leetcode hot100 94. 二叉树的中序遍历 easy 递归 dfs
leetcode
zxsz_com_cn2 小时前
设备预测性维护算法分类及优劣势分析,选型指南来了
算法·分类·数据挖掘