📜  计数给定数组中的对,其索引和该索引处的值之和相等(1)

📅  最后修改于: 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,如果它们的索引和对应的值相等,则计数器加一。

以上就是一个简单的实现。如果要优化代码,我们可以考虑使用哈希表来减少时间复杂度,但是需要牺牲一些空间复杂度。