用 Python 编写程序,查找具有唯一元素的最长连续子列表的长度
pythonserver side programmingprogramming更新于 2026/1/23 19:56:17
假设我们有一个名为 nums 的数字列表,其中所有元素都是唯一的。我们必须找到包含连续元素的最长子列表的长度。
因此,如果输入为 nums = [3, 6, 7, 5, 4, 9],则输出将为 5,因为子列表为 [3, 6, 7, 5, 4],其中包含从 3 到 7 的所有连续元素。
为了解决这个问题,我们将遵循以下步骤 −
- ret := 0
- 对于 i 在 0 到 nums 大小 - 1 的范围内,执行
- lhs := nums[i]
- rhs := nums[i]
- 对于 j 在 i 到 nums 大小 - 1 的范围内,执行
- lhs := lhs 的最小值和nums[j]
- rhs := rhs 和 nums[j] 的最大值
- 如果 (rhs - lhs) 与 (j - i) 相同,则
- ret := ret 和 (j - i + 1) 的最大值
- 返回 ret
示例
让我们看看下面的实现以便更好地理解 −
def solve(nums): ret = 0 for i in range(len(nums)): lhs = nums[i] rhs = nums[i] for j in range(i, len(nums)): lhs = min(lhs, nums[j]) rhs = max(rhs, nums[j]) if rhs - lhs == j - i: ret = max(ret, j - i + 1) return ret nums = [3, 6, 7, 5, 4, 9] print(solve(nums))
输入
[3, 6, 7, 5, 4, 9]
输出
1
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

