📅  最后修改于: 2023-12-03 14:54:48.493000             🧑  作者: Mango
问题 39 是 UGC NET CS 2014 年 12 月 - III 考试中的一道题目。这道题目是关于程序员的,并且需要根据指定的要求编写代码。
题目描述如下:
假设有一个整数数组 arr
,大小为 n
,以及一个整数 k
。编写一个函数 countTriplets(arr, n, k)
,该函数返回数组中满足以下条件的三元组 (arr[i], arr[j], arr[z])
的数量:
arr[i] < arr[j] < arr[z]
i < j < z
arr[z] - arr[j] = arr[j] - arr[i] = k
请在给定的 countTriplets(arr, n, k)
函数中实现你的解决方案。
def countTriplets(arr, n, k):
count = 0
for i in range(n):
for j in range(i+1, n):
if arr[j] - arr[i] == k:
for z in range(j+1, n):
if arr[z] - arr[j] == k:
count += 1
return count
上述代码中定义了一个 countTriplets
函数,该函数接受一个整数数组 arr
,数组大小 n
和整数 k
作为参数。函数使用三个嵌套的循环来遍历所有可能的三元组,并检查是否满足给定的条件。如果满足条件,计数器 count
将增加。最后,函数返回计数器的值。
要使用上述代码,只需将 countTriplets(arr, n, k)
函数应用于合适的输入参数,并将返回的结果存储在一个变量中。
arr = [1, 2, 3, 4, 5]
n = len(arr)
k = 1
result = countTriplets(arr, n, k)
print(result) # 输出:3
在上面的示例中,给定的数组 arr
是 [1, 2, 3, 4, 5]
,数组大小 n
是 5,整数 k
是 1。根据给定的条件,有 3 个三元组 (1, 2, 3)
、(2, 3, 4)
和 (3, 4, 5)
满足条件,因此输出结果为 3。
请根据实际需求修改输入参数,并检查输出结果是否满足预期。