Python | Leetcode Python题解之第318题最大单词长度乘积
题目:
题解:
class Solution:def maxProduct(self, words: List[str]) -> int:masks = defaultdict(int)for word in words:mask = reduce(lambda a, b: a | (1 << (ord(b) - ord('a'))), word, 0)masks[mask] = max(masks[mask], len(word))return max((masks[x] * masks[y] for x, y in product(masks, repeat=2) if x & y == 0), default=0)