Leetcode 2256 Solution

This article provides solution to leetcode question 2256 (count-words-obtained-after-adding-a-letter)

https://leetcode.com/problems/count-words-obtained-after-adding-a-letter

Solution

class Solution: def wordCount(self, startWords: List[str], targetWords: List[str]) -> int: def get_word_mask(word): mask = 0 for ch in word: mask |= 1 << (ord(ch) - ord('a')) return mask
targetset = set()
for word in startWords: targetset.add(get_word_mask(word))
ans = 0 for word in targetWords: target_word_mask = get_word_mask(word)
for i in range(26): if target_word_mask & (1 << i) == 0: continue
if (target_word_mask ^ (1 << i)) in targetset: ans += 1 break return ans