假设我们有一个称为nums的未排序数字数组。我们必须检查它是否包含连续的值,它也应该支持负数。
因此,如果输入像nums = [-3、5、1,-2,-1、0、2、4、3],则输出为true,因为元素为3、4、5、6, 7、8
为了解决这个问题,我们将遵循以下步骤-
大小:=数字的大小
init_term:= inf
对于介于0到大小范围内的i,执行
init_term:= nums [i]
如果nums [i] <init_term,则
ap_sum:= [[size *(2 * init_term +(size-1)* 1))/ 2)的商
总数:= num的所有元素的总和
当ap_sum与total相同时返回true,否则返回false
让我们看下面的实现以更好地理解-
def solve(nums): size = len(nums) init_term = 999999 for i in range(size): if nums[i] < init_term: init_term = nums[i] ap_sum = (size * (2 * init_term + (size - 1) * 1)) // 2 total = sum(nums) return ap_sum == total nums = [-3, 5, 1, -2, -1, 0, 2, 4, 3] print(solve(nums))
[-3, 5, 1, -2, -1, 0, 2, 4, 3]输出结果
True