Skip to content

Commit 1582b0c

Browse files
authored
Create 368-largest-divisible-subset.js
1 parent 8dbc353 commit 1582b0c

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

368-largest-divisible-subset.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number[]}
4+
*/
5+
const largestDivisibleSubset = function(nums) {
6+
let len = nums.length;
7+
let m = 0;
8+
let mi;
9+
const T = new Array(len).fill(0);
10+
const son = new Array(len).fill(0);
11+
nums.sort((a, b) => a - b);
12+
for (let i = 0; i < len; i++) {
13+
for (let j = i; j >= 0; j--) {
14+
if (nums[i] % nums[j] === 0 && T[j] + 1 > T[i]) {
15+
T[i] = T[j] + 1;
16+
son[i] = j;
17+
}
18+
}
19+
if (T[i] > m) {
20+
m = T[i];
21+
mi = i;
22+
}
23+
}
24+
const re = [];
25+
for (let i = 0; i < m; i++) {
26+
re.unshift(nums[mi]);
27+
mi = son[mi];
28+
}
29+
return re;
30+
};

0 commit comments

Comments
 (0)