Given an integer array, find a subarray where the sum of numbers is zero. Your code should return the index of the first number and the index of the last number.
代码
Approach #1 HashMap, 查找两个sum
publicclassSolution {publicArrayList<Integer> subarraySum (int[] nums) {ArrayList<Integer> result =newArrayList<Integer>();Map<Integer,Integer> hashMap =newHashMap<Integer,Integer>();int sum =0;for (int i =0; i <nums.length; i++) { sum += nums[i];if (sum ==0) {result.add(0);result.add(i);return result; }if (hashMap.containsKey(sum)) {int index =hashMap.get(sum);result.add(index);result.add(i);return result; }hashMap.put(sum, i); }return result; }}