Maximum Score Words Formed by Letters LeetCode solution in Python
1class Solution:2def maxScoreWords(3self, words: List[str], letters: List[str], score: List[int]4) -> int:56f, ans = lambda x: sum(score[ord(c) - 97] for c in x), 078def dfs(words, letters, tally):9nonlocal ans1011for i in range(len(words)):12cWord = Counter(words[i])1314if all(letters[c] >= cWord[c] for c in cWord):15dfs(words[i + 1 :], letters - cWord, tally + f(words[i]))1617ans = max(ans, tally)18return ans1920return dfs(words, Counter(letters), 0)