def solve(nums, target):
seen = {}
for i, n in enumerate(nums):
if target - n in seen:
return [seen[target - n], i]
seen[n] = iconst memo = new Map();
function fib(n) {
if (memo.has(n)) return memo.get(n);
const v = n < 2 ? n : fib(n - 1) + fib(n - 2);
memo.set(n, v);
return v;
}merge_sort([5, 2, 8, 1, 9, 3])
// [1, 2, 3, 5, 8, 9]
// O(n log n)