fork(1) download
  1. import java.util.Scanner;
  2. import java.util.Stack;
  3. import java.util.*;
  4.  
  5. class Ideone {
  6. public static void main(String[] args) {
  7. int[] inp = {1,2,3,1, 2, 1, 3};
  8. Map<Integer, Integer> h = new HashMap<>();
  9. List<Integer> result = new ArrayList<>();
  10. for (int i = inp.length - 1; i >= 0; --i) {
  11. int cur = inp[i];
  12. int next = -1;
  13. if (h.containsKey(cur)) {
  14. next = h.get(cur);
  15. }
  16. h.put(cur, i);
  17. result.add(next);
  18. }
  19.  
  20. for (int i = 0; i < inp.length; ++i) {
  21. System.out.println("Number " + inp[i] + " next occurence at index " + result.get(inp.length - i - 1));
  22. }
  23. }
  24. }
Success #stdin #stdout 0.04s 4386816KB
stdin
Standard input is empty
stdout
Number 1 next occurence at index 3
Number 2 next occurence at index 4
Number 3 next occurence at index 6
Number 1 next occurence at index 5
Number 2 next occurence at index -1
Number 1 next occurence at index -1
Number 3 next occurence at index -1