Придумать более оптимальный алгоритм.
Например тут точно можно избавиться от:
1. Set
2. Реаллокации массива
3. Сортировки массива
4. Лишних вычислений
Как-то так например
const seq = [1];
let upper = 0;
let lower = 0;
const dblLinear = n => {
while (n >= seq.length) {
const y = seq[lower] * 2 + 1;
const z = seq[upper] * 3 + 1;
if (y < z) {
seq.push(y);
lower += 1;
}
else {
seq.push(z);
upper += 1;
}
}
return seq[n];
}
Ещё можно оптимизировать, если хранить не всю последовательность, а только то, что нужно для вычисления следующих чисел.