Sum of absolute differences of indices of occurrences of each array element | Set 2

  import java.util.*;  class GFG {              static class pair {        int count, prevIndex;                  pair(int count, int prevIndex)        {            this.count = count;            this.prevIndex = prevIndex;        }    }                  static void findSum(int[] arr, int n)    {                        Map map = new HashMap();                          int[] left = new int[n];        int[] right = new int[n];                  for (int i = 0; i < n; i++) {                          if (!map.containsKey(arr[i])) {                                                                  left[i] = 0;                map.put(arr[i], new pair(1, i));            }                                      else {                pair tmp = map.get(arr[i]);                left[i] = (tmp.count)                              * (i - tmp.prevIndex)                          + left[tmp.prevIndex];                map.put(                    arr[i], new pair(                                tmp.count + 1, i));            }        }                  map.clear();                  for (int i = n - 1; i >= 0; i–) {                          if (!map.containsKey(arr[i])) {                                                                  right[i] = 0;                map.put(arr[i], new pair(1, i));            }                                      else {                  pair tmp = map.get(arr[i]);                right[i]                    = (tmp.count)                          * (Math.abs(i – tmp.prevIndex))                      + right[tmp.prevIndex];                  map.put(                    arr[i], new pair(                                tmp.count + 1, i));            }        }                                  for (int i = 0; i < n; i++)            System.out.print(                left[i] + right[i] + " ");    }          public static void main(String[] args)    {        int[] arr = { 1, 3, 1, 1, 2 };        int N = arr.length;        findSum(arr, N);    }}