每日一题——238. 除自身以外数组的乘积(java)

  第一个for循环里面数组存放的是前i个元素相乘的结果(不包含第i个)。

  第二个数组使用反向遍历,先求出来的是第i个数后面的乘积,与第i个数前面的乘积相乘。

class Solution {

    public int[] productExceptSelf(int[] nums) {

        int a[]=new int[nums.length];

        for(int i = 0 , temp = 1; i < nums.length;i++){

            a[i] = temp;

            temp*= nums[i];

        }

        for(int i = nums.length-1,temp=1 ; i>=0 ; i--){

            a[i] *=temp;

            temp *=nums[i];//第i个数后面的成绩

        }

        return a;

    }

}

你可能感兴趣的:(力扣每日一题)