fork download
  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.Vector;
  4.  
  5. public class Main {
  6. public static int maxLen(Vector<Integer> A, int n) {
  7. int sum = 0;
  8. int longest_length = 0;
  9. Map<Integer, Integer> mpp = new HashMap<>();
  10. mpp.put(0, -1);
  11.  
  12. for (int i = 0; i < A.size(); i++) {
  13. sum += A.get(i);
  14.  
  15. if (mpp.containsKey(sum)) {
  16. longest_length = Math.max(longest_length, i - mpp.get(sum));
  17. } else {
  18. mpp.put(sum, i);
  19. }
  20. }
  21.  
  22. return longest_length;
  23. }
  24.  
  25. public static void main(String[] args) {
  26. Vector<Integer> A = new Vector<>();
  27. A.add(15);
  28. A.add(-2);
  29. A.add(2);
  30. A.add(-8);
  31. A.add(1);
  32. A.add(7);
  33. A.add(10);
  34. A.add(23);
  35. int N = 8;
  36. int answer = maxLen(A, N);
  37. System.out.println("Answer is " + answer);
  38. }
  39. }
Success #stdin #stdout 0.15s 53612KB
stdin
Standard input is empty
stdout
Answer is 5