import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型一维数组
     */
    public int[] productExceptSelf (int[] nums) {
        int [] temp = new int[nums.length];
        int sum = 1;
        for (int i = 0; i < temp.length; i++) {
            temp[i] = 1;
        }
        for (int i = 2; i < nums.length; i++) {
            sum *= nums[i - 2];
            temp[i] = sum;
        }
        sum = 1;
        for (int i = nums.length - 3; i >= 0; i--) {
            sum *= nums[i + 2];
            temp[i] *= sum;
        }
        return temp;
    }
}

本题知识点分析:

1.数学模拟

2.数组遍历和赋值

本题解题思路分析:

1.先将数字左边的值做一个累积,赋值给当前值

2.再把数字右边的值做一次累积和第一遍结果相乘

本题使用编程语言: Java