思路
这道题使用的是分治法, result[i] = left[i-1] + right[i+1];下面使用巧妙的实现
代码
public static List<Long> productExcludeItself(List<Integer> nums) {
Long temp = Long.parseLong("1");
List<Long> left = new ArrayList<Long>();
for (int i = 0; i < nums.size(); i++) {
left.add(temp);
temp *= nums.get(i);
}
temp = Long.parseLong("1");
for (int i = nums.size()-1; i >=0; i--) {
left.set(i, left.get(i) * temp);
temp *= nums.get(i);
}
return left;
}