Skip to content

Commit 09ac56f

Browse files
committed
add 04
1 parent 8651bdb commit 09ac56f

File tree

1 file changed

+47
-0
lines changed
  • leetcode刷题/note/6月刷题

1 file changed

+47
-0
lines changed

leetcode刷题/note/6月刷题/04.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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+
```

0 commit comments

Comments
 (0)