File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ # No.238 除自身以外数组的乘积
2
+
3
+ 给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[ i] 等于 nums 中除 nums[ i] 之外其余各元素的乘积。
4
+
5
+ ## 实例
6
+
7
+ ``` javascript
8
+ 输入: [1 ,2 ,3 ,4 ]
9
+ 输出: [24 ,12 ,8 ,6 ]
10
+ ```
11
+
12
+ ## 解题思路
13
+
14
+ 分别左右乘积。
15
+
16
+ 举个简单的例子:
17
+ ```
18
+ [1,2,3,4]
19
+ ---
20
+ 左乘的数组:L = [1,2,3,12];
21
+ 有乘的数组:R = [24,12,4,1];
22
+ 将 L[i] * R[i] 记得到答案
23
+ ```
24
+
25
+ 代码如下:
26
+
27
+ ``` javascript
28
+ /**
29
+ * @param {number[]} nums
30
+ * @return {number[]}
31
+ */
32
+ var productExceptSelf = function (nums ) {
33
+ let L = [1 ];
34
+ let R = [1 ];
35
+
36
+ // 别左右乘
37
+ for (let i = 0 , n = nums .length - 1 ; i < n; i++ ) {
38
+ L .push (L [L .length - 1 ]* nums[i]);
39
+ R .unshift (R [0 ]* nums[n- i]);
40
+ }
41
+ // 两边乘积
42
+ for (let i = 0 ; i < L .length ; i++ ) {
43
+ L [i] = L [i] * R [i];
44
+ }
45
+ return L ;
46
+ };
47
+ ```
You can’t perform that action at this time.
0 commit comments