isInterleave = (s1, s2, s3) => {
    const isBaseCase = (s3.length !== s1.length + s2.length);
    if (isBaseCase) return false;

    const tabu = initTabu(s1, s2);/* Time O(N * M) | Space O(N * M) */

    search(s1, s2, s3, tabu);     /* Time O(N * M) | Space O(N * M) */

    return tabu[s1.length][s2.length];
}
DP - Bottom Up
Matrix - Tabulation
Time O(N * M) | Space O(N * M)
https://leetcode.com/problems/interleaving-string/
@param {string} s1
@param {string} s2
@param {string} s3
@return {boolean}