在Python中查找具有唯一元素的最长连续子列表的长度的程序

假设我们有一个名为 nums 的数字列表,其中所有元素都是唯一的。我们必须找到包含连续元素的最长子列表的长度。

所以,如果输入像 nums = [3, 6, 7, 5, 4, 9],那么输出将是 5,因为子列表是 [3, 6, 7, 5, 4] 这包含所有连续的元素从 3 到 7。

示例

让我们看看以下实现以获得更好的理解 -

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

猜你喜欢