检查数组元素在Python中是否连续

假设我们有一个称为nums的数字数组。我们必须检查它是否包含连续值。

因此,如果输入像nums = [6、8、3、5、4、7],则输出为true,因为元素为3、4、5、6、7、8。

为了解决这个问题,我们将遵循以下步骤-

  • 如果nums <1的大小

    • 返回False

  • min_val:=最小值,max_val:=最大值

  • 如果(max_val-min_val + 1)与nums的大小相同,则

    • 如果nums [i] <0,则

    • 除此以外,

    • 如果nums [j]> 0,则

    • 除此以外,

    • j:= -nums [i]-min_val

    • j:= nums [i]-min_val

    • nums [j]:= -nums [j]

    • 返回False

    • 对于范围从0到nums的i,执行

    • 返回True

    • 返回False

    让我们看下面的实现以更好地理解-

    示例

    def solve(nums):

       if len(nums) < 1:

          return False

       min_val = min(nums)   max_val = max(nums)   if max_val - min_val + 1 == len(nums):

          for i in range(len(nums)):

             if nums[i] < 0:

                j = -nums[i] - min_val

             else:

                j = nums[i] - min_val

                if nums[j] > 0:

                   nums[j] = -nums[j]

                else:

                   return False

          return True

       return False

    nums = [6, 8, 3, 5, 4, 7]

    print(solve(nums))

    输入值

    [6, 8, 3, 5, 4, 7]
    输出结果
    True

    以上是 检查数组元素在Python中是否连续 的全部内容, 来源链接: utcz.com/z/358480.html

    回到顶部