MCPcopy Create free account
hub / github.com/neetcode-gh/leetcode / dfs

Function dfs

javascript/1143-Longest-Common-Subsequence.js:23–35  ·  view source on GitHub ↗
(text1, text2, p1, p2, memo)

Source from the content-addressed store, hash-verified

21 .map(() => new Array((text2.length + 1)).fill(null)); /* Time O(M) | Space O(M) */
22
23var dfs = (text1, text2, p1, p2, memo) => {
24 const left = longestCommonSubsequence(text1, text2, (p1 + 1), p2, memo); /* Time O(N * M) | Space O(HEIGHT) */
25
26 const index = text2.indexOf(text1[p1], p2); /* Time O(M) */
27 const isPrefix = (index !== -1);
28
29 const right = isPrefix
30 ? (longestCommonSubsequence(text1, text2, (p1 + 1), (index + 1), memo) + 1)/* Time O(N * M) | Space O(HEIGHT) */
31 : 0;
32
33 memo[p1][p2] = Math.max(left, right); /* | Space O(N * M) */
34 return memo[p1][p2];
35}
36
37/**
38 * DP - Top Down

Callers 1

longestCommonSubsequenceFunction · 0.70

Calls 1

longestCommonSubsequenceFunction · 0.70

Tested by

no test coverage detected