Count Common Words With One Occurrence

# 問題

文字列を格納する配列words1words2が与えられる.どちらにも一度だけ登場する文字列の個数を求めよ.

1
2
3
words1 = ["leetcode"," is", "amazing", "as", "is"]
words2 = ["amazing", "leetcode", "is"]
-> 2 ("leetcode", "amazing")

# 解法

words1で一度しか登場しない文字列が確かにwords2でも一度しか登場しないかを確認すればいい.

1
2
3
4
5
6
7
class Solution:
    def countWords(self, words1: List[str], words2: List[str]) -> int:
        freq = Counter(words1)
        for word in words2:
            if freq[word] <= 1:
                freq[word] -= 1
        return sum(1 for v in freq.values() if v == 0)

# 出典

Hugo で構築されています。
テーマ StackJimmy によって設計されています。