【leetcode】Product of Array Except Self

原创 2015年11月19日 21:17:01

Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

Solve it without division and in O(n).

For example, given [1,2,3,4], return [24,12,8,6].

Follow up:
Could you solve it with constant space complexity? (Note: The output array does not count as extra space for the purpose of space complexity analysis.)

Subscribe to see which companies asked this question

class Solution {
public:
    vector<int> productExceptSelf(vector<int>& nums) {
        vector<int> result;
        int tmp = 1;
        result.push_back(tmp);
        for (vector<int>::const_iterator it = nums.begin(); it != nums.end() - 1; ++it)
        {
            tmp *= (*it);
            result.push_back(tmp);
        }
        tmp = 1;
        vector<int>::iterator it_result = result.end() - 2;
        for (vector<int>::const_iterator it = nums.end() - 1; it != nums.begin(); --it)
        {
            tmp *= (*it);
            (*it_result) *= tmp;
            --it_result;
        }
        
        return result;
    }
};


Personal Note:

遍历nums两次,第一次正序,计算索引i之前各数乘积并存入result,第二次反序,计算索引i之后各数乘积并与之前result相乘,得到最终result

版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode 238: Product of Array Except Self

Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal ...
  • sunao2002002
  • sunao2002002
  • 2015年07月27日 18:51
  • 2598

leetcode 238: Product of Array Except Self

leetcode 238: Product of Array Except Self python, c++ java
  • xudli
  • xudli
  • 2015年07月16日 14:40
  • 10719

[LeetCode]Product of Array Except Self,解题报告

题目Given an array of n integers where n > 1, nums, return an array output such that output[i] is equa...
  • zinss26914
  • zinss26914
  • 2015年07月17日 10:20
  • 10869

LeetCode238Product of Array Except Self

先上题目:题目大意:给一数组。返回一数组,这个数组对应原数组除了对应数其他数的乘积和。注意为额外的O(n)空间技巧:题目中已经明确把最容易想到的求所有数乘积,然后分别除每一个数的简单做法给否定了,因为...
  • a1054513777
  • a1054513777
  • 2016年09月23日 22:02
  • 189

leetcode:238. Product of Array Except Self(Java)解答

转载请注明出处:z_zhaojun的博客 原文地址 题目地址 Product of Array Except SelfGiven an array of n integers where n ...
  • u012975705
  • u012975705
  • 2016年03月05日 14:14
  • 1386

【Leetcode】Shuffle an Array

题目链接:https://leetcode.com/problems/shuffle-an-array/ 题目: Shuffle a set of numbers without duplicat...
  • yeqiuzs
  • yeqiuzs
  • 2016年08月12日 21:39
  • 2238

【LintCode】Product of Array Exclude Itself 数组剔除元素后的乘积

给定一个整数数组A。 定义B[i] = A[0] * … * A[i-1] * A[i+1] * … * A[n-1], 计算B的时候请不要使用除法。样例 给出A=[1, 2, 3],返回 B为[...
  • wutingyehe
  • wutingyehe
  • 2015年07月15日 12:04
  • 647

leetcode Product of Array Except Self

/* 时间要求是O(n),可以这样遍历数组,从前往后和 从后往前,sum_pre[i]表示从数组第一个数开始到第i 个数的乘积即nums[0]*nums[1]...nums[i],sum_bac...
  • zhongzi123456789
  • zhongzi123456789
  • 2015年11月24日 18:38
  • 154

【Leetcode】Product of Array Except Self

题目链接:https://leetcode.com/problems/product-of-array-except-self/ 题目: Given an array of n integers ...
  • yeqiuzs
  • yeqiuzs
  • 2015年12月02日 16:35
  • 279

Leetcode: Product of Array Except Self

 Given an array of n integers where n > 1, nums, return an array output such that output[i] is e...
  • u013166464
  • u013166464
  • 2015年07月25日 16:34
  • 282
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【leetcode】Product of Array Except Self
举报原因:
原因补充:

(最多只允许输入30个字)