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.再把数字右边的值做一次累积和第一遍结果相乘