[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Orio77/LeetCode/master/ProductOfArrayExceptSelf.java [Back]  [Original]

import java.util.HashMap;
import java.util.Map;

public class ProductOfArrayExceptSelf {
    public int[] productExceptSelf(int[] nums) {
        if (nums == null || nums.length == 0) {
            return new int[0];
        }
        Map backward = new HashMap();
        Map forward = new HashMap();
        backward.put(0, nums[0]);
        forward.put(nums.length-1, nums[nums.length-1]);

        int i = 1;
        int j = nums.length - 2;

        while (i < nums.length) {
            backward.put(i, nums[i]*backward.get(i-1));
            forward.put(j, nums[j]*forward.get(j+1));

            i++;
            j--;
        }

        int[] result = new int[nums.length];
        result[0] = forward.get(1);
        result[nums.length - 1] = backward.get(nums.length - 2);
        for (int k = 1; k < result.length-1; k++) {
            result[k] = backward.get(k-1) * forward.get(k+1);
        }

        return result;
    }
}

Web Proxy Viewer  |  New URL  |  Original Page