LeetCode OJ 238. Product of Array Except Self 解题报告

题目链接:https://leetcode.com/problems/product-of-array-except-self/

238. Product of Array Except Self

My Submissions

Question

Total Accepted: 36393 Total
Submissions: 87262 Difficulty: Medium

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

Show Tags

Show Similar Problems

Have you met this question in a real interview?

Yes

No

Discuss

给出一个数组,要求计算一个新数组,数组里所有的元素都是除了自己以外的元素乘积。并且要求不许用除法。

《编程之美》上的一道原题。创建两个辅助数组,一个保存所有左边元素乘积的结果。一个保存所有右边元素乘积的结果。借助这两个数组,一次遍历就可以得到结果。

我的AC代码

public class ProductofArrayExceptSelf {

	public static void main(String[] args) {
		int[] a = { 1, 2, 3, 4 };
		System.out.print(Arrays.toString((productExceptSelf(a))));
	}

	public static int[] productExceptSelf(int[] nums) {
		int len = nums.length;
		int[] r = new int[len];

		int[] left = new int[len];
		int[] right = new int[len];
		left[0] = nums[0];
		for (int i = 1; i < len; i++) {
			left[i] = left[i - 1] * nums[i];
		}
		right[len - 1] = nums[len - 1];
		for (int i = len - 2; i >= 0; i--) {
			right[i] = right[i + 1] * nums[i];
		}

		r[0] = right[1];
		r[len - 1] = left[len - 2];
		for (int i = 1; i < len - 1; i++) {
			r[i] = left[i - 1] * right[i + 1];
		}
		return r;
	}
}
时间: 2024-10-13 11:51:51

LeetCode OJ 238. Product of Array Except Self 解题报告的相关文章

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

转载请注明出处:z_zhaojun的博客 原文地址 题目地址 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 to the product of all the elements of nums except nums[i]. Solve it without division and i

【LeetCode】238. Product of Array Except Self

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 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

LeetCode OJ: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 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].由于不

[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 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].

Leetcode 238. Product of Array Except Self

238. Product of Array Except Self Total Accepted: 51070           Total Submissions: 116543           Difficulty: Medium 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 ele

刷题238. Product of Array Except Self

一.题目说明 题目238. Product of Array Except Self,给n个整数,返回一个数组,每个元素都是原数组除了该位置元素外的乘积.不能用除法,复杂度要求是O(n).难度是Medium! 二.我的解答 看到这个问题,我第一想法就是求所有元素的乘积,然后就简单了.但是不允许使用除法... 然后能想到的思路就是可以用动态规划:dp[i]=nums[0]*...*nums[i-1] = dp[i-1]*nums[i-1] 可以将result[]作为dp使用,技巧在于,从左到右,从

[leedcode 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 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]. Fo

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 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]. Fo

LeetCode 238 Product of Array Except Self(除自身外数组其余数的乘积)

翻译 给定一个有n个数字的数组nums,其中n大于1,返回一个数组使得output[i]等于除nums[i]外所有元素的乘积. 不用分治并且在O(n)复杂度下解决这个问题. 例如,给定[1, 2, 3, 4],返回[24, 12, 8, 6]. 跟进: 你可以只在常量空间下完成它吗? (备注:在空间复杂度计算时输出数组不作为额外空间.) 原文 Given an array of n integers where n > 1, nums, return an array output such t