Javascript 98.11% fast very very easy to understand solution with video explanation!!!
If you like my video and explanation, Subscribe please!!! Thank you!!\n\nhttps://youtu.be/LRhVY83R9cI\n\n\n# Code\n\n/**\n * @param {string[]} words\n * @return
If you like my video and explanation, Subscribe please!!! Thank you!!\n\nhttps://youtu.be/LRhVY83R9cI\n\n\n# Code\n```\n/**\n * @param {string[]} words\n * @return {string[]}\n */\nvar findAllConcatenatedWordsInADict = function(words) {\n    const set = new Set(words);\n    let res = []\n\n    let isValid = (word) =>{\n        if(word.length == 0) return true;\n        for(let i =1; i<=word.length;i++){\n            let value = word.slice(0,i);\n            if(set.has(value)){\n                let check = isValid(word.slice(i))\n                if(check) return true;\n            }\n        }\n        return false;\n    }\n\n    for(let word of words){\n        set.delete(word);\n        if(isValid(word)) res.push(word)\n        set.add(word)\n    }\n    return res;\n};\n```
['JavaScript']