检查数组元素在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
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短