fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.util.HashMap;
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10.  
  11. public static int getMaxDistance(int[] arr) {
  12. HashMap<Integer, Integer> firstIndexMap = new HashMap<>();
  13. int maxDistance = 0;
  14.  
  15. for (int i = 0; i < arr.length; i++) {
  16. int num = arr[i];
  17.  
  18. if (!firstIndexMap.containsKey(num)) {
  19. firstIndexMap.put(num, i); // store first occurrence
  20. } else {
  21. int distance = i - firstIndexMap.get(num);
  22. maxDistance = Math.max(maxDistance, distance);
  23. }
  24. }
  25.  
  26. return maxDistance;
  27. }
  28.  
  29. public static void main(String[] args) {
  30. int[] arr = {1, 2, 3, 2, 1, 4, 5, 1};
  31. System.out.println("Max distance: " + getMaxDistance(arr)); // Output: 7 - 0 = 7
  32. }
  33. }
  34.  
  35.  
Success #stdin #stdout 0.1s 53640KB
stdin
Standard input is empty
stdout
Max distance: 7