Intervals Between Identical Elements LeetCode solution in JavaScript
1var getDistances = function (arr) {2const map = new Map();3const result = new Array(arr.length).fill(0);45for (let i = 0; i < arr.length; i++) {6const num = arr[i];7const val = map.get(num) || {8count: 0,9sum: 0,10};11result[i] += val.count * i - val.sum;12val.sum += i;13val.count++;14map.set(num, val);15}16map.clear();1718for (let i = arr.length - 1; i >= 0; i--) {19const num = arr[i];20const val = map.get(num) || {21count: 0,22sum: 0,23};24result[i] += val.sum - val.count * i;25val.sum += i;26val.count++;27map.set(num, val);28}2930return result;31};