longestCommonSubsequence = (text1, text2) => {
    const canSwap = (text2.length < text1.length);
    if (canSwap) [ text1, text2 ] = [ text2, text1 ];

    let tabu = initTabu(text1);       /* Time O(M)     | Space O(M) */

    tabu = search(text1, text2, tabu);/* Time O(N * M) | Space O(M) */

    return tabu[0];
}
DP - Bottom Up
Matrix - Tabulation
Time O(N * M) | Space O(M)
https://leetcode.com/problems/longest-common-subsequence/
@param {string} text1
@param {string} text2
@return {number}