Skip to content

Commit f20ef70

Browse files
committed
✨ [238] 2a - Runtime 106 ms Beats 58.15% Memory 56.5 MB Beats 13.74%
1 parent b76b5f2 commit f20ef70

File tree

2 files changed

+34
-23
lines changed

2 files changed

+34
-23
lines changed

238/my_solution.js

+21-13
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,34 @@
33
* @return {number[]}
44
*/
55
const productExceptSelf = (nums) => {
6-
let map = new Map(), defaultFactor = 1;
6+
if (1 === nums.length) return [0];
77

8-
console.log(map)
8+
let factorList = [], defaultFactor = 1;
99

1010
for (let i = 0; i < nums.length; i++) {
11-
map = new Map(
12-
Array.from(map, ([key, value]) =>
13-
[key, value * nums[i]]
14-
)
15-
)
16-
17-
map.set(nums[i], defaultFactor);
11+
factorList[i] = defaultFactor;
1812
defaultFactor *= nums[i];
1913
}
2014

21-
console.log(map)
22-
console.log(Array.from(map, ([key, value]) => Math.abs(value)))
15+
defaultFactor = 1;
16+
17+
// [1, 4, 12, 24]
18+
for (let j = 0; j < nums.length; j++) {
19+
console.log(factorList[nums.length - (j + 1)]);
20+
factorList[nums.length - (j + 1)] *= defaultFactor;
21+
defaultFactor *= nums[nums.length - (j + 1)];
22+
}
2323

24-
return;
24+
console.log(factorList)
25+
// console.log(Array.from(map, ([key, value]) => Math.abs(value)))
26+
//
27+
// return;
2528
};
2629

30+
31+
2732
// productExceptSelf([1, 2, 3, 4])
28-
productExceptSelf([-1, 1, 0, -3, 3])
33+
// productExceptSelf([1, 2, 3, 4, 2])
34+
// productExceptSelf([-1, 1, 0, -3, 3])
35+
// productExceptSelf([0, 0])
36+
productExceptSelf([0])

238/solution.js

+13-10
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
/**
22
* @param {number[]} nums
33
* @return {number[]}
4-
*/
4+
*/
55
const productExceptSelf = (nums) => {
6-
let map = new Map(), defaultFactor = 1;
6+
if (1 === nums.length) return [0];
77

8-
for (let i = 0; i < nums.length; i++) {
9-
map = new Map(
10-
Array.from(map, ([key, value]) =>
11-
[key, value * nums[i]]
12-
)
13-
)
8+
let factorList = [], defaultFactor = 1;
149

15-
map.set(nums[i], defaultFactor);
10+
for (let i = 0; i < nums.length; i++) {
11+
factorList[i] = defaultFactor;
1612
defaultFactor *= nums[i];
1713
}
1814

19-
return Array.from(map, ([key, value]) => Math.abs(value));
15+
defaultFactor = 1;
16+
17+
for (let j = 0; j < nums.length; j++) {
18+
factorList[nums.length - (j + 1)] *= defaultFactor;
19+
defaultFactor *= nums[nums.length - (j + 1)];
20+
}
21+
22+
return factorList;
2023
};

0 commit comments

Comments
 (0)