题解 | 谐距下标对

谐距下标对

https://www.nowcoder.com/practice/12fd032361704c978bcb9c2c2b3bb93d

def n_par(n):
    if n==0:
        return 0
    else:
        return n*(n+1)//2
def void():
    n=int(input())
    lst=list(map(int,input().split()))
    dic={}
    for i in range(n):
        dic[lst[i]-i]=dic.get(lst[i]-i,0)+1
    sm=0
    for _,v in dic.items():
        sm+=n_par(v-1)
    print(sm)

void()

这个还是简单的,关键还是思路,算了解释不清看代码吧

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务