📅  最后修改于: 2023-12-03 15:27:57.701000             🧑  作者: Mango
这是一道数组遍历的典型题,需要我们从头到尾扫描整个数组,计算索引和该索引处的值之和,如果相等则计数器加一。
以下是一个Python示例代码:
def count_pairs(arr):
count = 0
for i in range(len(arr)):
for j in range(i+1, len(arr)):
if i + arr[i] == j + arr[j]:
count += 1
return count
这个代码定义了一个函数 count_pairs
,它接受一个数组参数,返回计算出的对数。在函数内部,我们使用两个for循环进行遍历,第一个循环从0到n-1,第二个循环从i+1到n-1,其中n是数组的长度。对于每一对 i 和 j,如果它们的索引和对应的值相等,则计数器加一。
以上就是一个简单的实现。如果要优化代码,我们可以考虑使用哈希表来减少时间复杂度,但是需要牺牲一些空间复杂度。