检查排序后的数组是否可以成对分成Python,其和为k
假设我们有一个数字数组,又有另一个数字k,我们必须检查给定的数组是否可以分为几对,使得每对的总和为k。
因此,如果输入像arr = [1、2、3、4、5、6],k = 7,则输出将为True,因为我们可以采用像(2,5),(1,6)这样的对和(3,4)。
为了解决这个问题,我们将遵循以下步骤-
n:= arr的大小
如果n为奇数,则
返回False
低:= 0,高:= n-1
从低到高,做
返回False
如果arr [low] + arr [high]与k不同,则
低:=低+ 1
高:=高-1
返回True
让我们看下面的实现以更好地理解-
示例
def solve(arr, k):n = len(arr) if n % 2 == 1:
return False
low = 0
high = n - 1
while low < high:
if arr[low] + arr[high] != k:
return False
low = low + 1
high = high - 1
return True
arr = [1, 2, 3, 4, 5, 6]
k = 7
print(solve(arr, k))
输入值
[1, 2, 3, 4, 5, 6], 7输出结果
True
以上是 检查排序后的数组是否可以成对分成Python,其和为k 的全部内容, 来源链接: utcz.com/z/315858.html