知识点
数组
解题思路
遍历两次数组,定义一个arr存放最总答案,第一次将左边累乘的数存放进去,第二次将右边累乘的数存放进去就是最终结果。中间需要一个临时变量preMul存放累乘。
Java题解
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param milk_amount int整型一维数组 * @return int整型一维数组 */ public int[] product_except_self (int[] milk_amount) { // write code here int n = milk_amount.length; int[] arr = new int[n]; int preMul = 1; for(int i = 0; i < n; i++){ arr[i] = preMul; preMul *= milk_amount[i]; } preMul = 1; for(int i = n - 1; i >= 0; i--){ arr[i] *= preMul; preMul *= milk_amount[i]; } return arr; } }