238. Product of Array Except Self(重)

很有趣的思路,这道题难在思维的转换,需要好生思考,每一位的输出结果被该位分成前后两段,本质上讲从前和从后遍历没有区别,故而可以在统一循环里完成,所以一次循环后就可输出结果。

参考人家的解法

class Solution {
public:
    vector<int> productExceptSelf(vector<int>& nums) {
        int n = nums.size();
        vector<int> output (n, 1);
        int fromHead = 1, fromTail = 1;
        for (int i = 0; i < n; i ++){
            output[i] *= fromHead;
            fromHead *= nums[i];
            output[n - 1 - i] *= fromTail;
            fromTail *= nums[n - 1 - i];
        }
        return output;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容