2121. Intervals Between Identical Elements
On This Page
class Solution:
def getDistances(self, arr: List[int]) -> List[int]:
d = defaultdict(list)
n = len(arr)
for i, v in enumerate(arr):
d[v].append(i)
res = [0] * n
for v in d.values():
m = len(v)
val = sum(v) - v[0] * m
for i, p in enumerate(v):
delta = v[i] - v[i - 1] if i >= 1 else 0
val += i * delta - (m - i) * delta
res[p] = val
return res