import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型一维数组
     */
    public int[] constructArray(int[] nums) {
        int[] result = new int[nums.length];

// 计算每个元素的前缀和
        for (int i = 0; i < nums.length; i++) {
            int prefixSum = 0;
            for (int j = 0; j < nums.length; j++) {
                if (j != i) {
                    prefixSum += nums[j];
                }
            }
            result[i] = prefixSum;
        }

        return result;
    }
}

本题知识点分析:

1.数学模拟

2.数组遍历

本题解题思路分析:

1.暴力枚举,除了自身之外,所有和相加

2.如果本题是求乘积,可以采用先左乘积,再右乘积,可以在O(n)的时间复杂度解决。

本题使用编程语言: Java