剑指 Offer 66. 构建乘积数组

剑指 Offer 66. 构建乘积数组
剑指 Offer 66. 构建乘积数组

看到数据范围是\(1e5\)就大概猜到了不能暴力,尝试了一下也确实TLE了。

class Solution {
    public int[] constructArr(int[] a) {
        int n = a.length;
        int[] res = new int[n];
        for(int i = 0; i < n; i++) {
            int tmp = 1;
            for(int j = 0; j < n; j++) {
                if(j != i) {
                    tmp *= a[j];
                }
            }
            res[i] = tmp;
        }
        return res;
    }
}

时间复杂度为\(O(n^2)\),空间复杂度为\(O(1)\)。
剑指 Offer 66. 构建乘积数组

这个数据加强得有点强,以前超宽度太多了

上一篇:剑指 Offer 59 - I. 滑动窗口的最大值


下一篇:剑指 Offer 20. 表示数值的字符串