📜  从数组中找到所有连续数字范围(1)

📅  最后修改于: 2023-12-03 14:49:25.253000             🧑  作者: Mango

从数组中找到所有连续数字范围

在编程中,经常会遇到需要找到数组中连续数字范围的情况。这种情况可以通过编写一段代码来解决,本文将介绍如何使用代码找到数组中的所有连续数字范围。

算法思路

我们可以遍历数组中的每个元素,然后判断当前元素和下一个元素是否连续。如果连续,则继续遍历下一个元素;如果不连续,则将当前连续范围保存并开始查找下一个连续范围。最后返回所有找到的连续范围。

代码示例

下面是一个用Python编写的示例代码,用于从给定的数组中找到所有连续数字范围,并返回一个列表。

def find_continuous_ranges(nums):
    ranges = []
    start = nums[0]
    end = nums[0]

    for i in range(1, len(nums)):
        if nums[i] == end + 1:
            end = nums[i]
        else:
            ranges.append((start, end))
            start = nums[i]
            end = nums[i]

    # 添加最后一个连续范围
    ranges.append((start, end))

    return ranges
使用示例

下面是一个使用示例,演示了如何调用上面的函数并打印输出结果。

nums = [1, 2, 3, 5, 6, 8, 9, 10, 11]
result = find_continuous_ranges(nums)

for start, end in result:
    print(f"连续范围: {start} - {end}")

该示例的输出结果为:

连续范围: 1 - 3
连续范围: 5 - 6
连续范围: 8 - 11
结论

通过上述示例代码,我们可以轻松地从给定的数组中找到所有连续数字范围,并将其以列表的形式返回。可以根据具体需求对代码进行修改和优化,以适应不同的场景。希望本文对你在处理这类问题时提供了帮助。