给定 n 个数组 a1,…,an, 找出所有的严格递增三元组(1≤i<j<k≤n) , 使得ai=ak=aj+1 , 输出其数量。
我们需要找出所有符合条件的严格递增三元组 (i, j, k)
,使得:
1 <= i < j < k <= n
a[i] = a[k] = a[j] + 1
换句话说,给定一个数 a[j]
,我们希望找到两个 i
和 k
,使得 a[i] = a[k] = a[j] + 1
且 i < j < k
。这可以形象地看作寻找形如(x+1,x,x+1)
的三元组。将求和过程先聚焦于中间的这个x,那么最终的答案 等价于