884. 两句话中的不常见单词

简介: 884. 两句话中的不常见单词

题:输入两句话,返回两句话中不常见单词列表。

“不常见单词”指在一句话中只出现一次,且另一句话没有出现。

解:直接按题意,求在一句话中只出现一次,且另一句话没有出现的单词。用Counter()计算次数。

class Solution:
    def uncommonFromSentences(self, s1: str, s2: str) -> List[str]:
        tokens1 = s1.split()
        tokens2 = s2.split()
        ans = []
        cnt1 = Counter(tokens1)
        cnt2 = Counter(tokens2)
        #print(cnt1,cnt2)
        for k, v in cnt1.items():
            if v == 1 and k not in cnt2:
                ans.append(k)
        for k, v in cnt2.items():
            if v == 1 and k not in cnt1:
                ans.append(k)  
        return ans    

简化一下,在一句中出现一次,另一句话不出现,就等价于在s1+s2中总共出现一次。

    def uncommonFromSentences(self, s1: str, s2: str) -> List[str]:
        s = s1+" "+s2
        tokens = s.split()
        ans = []
        cnt = Counter(tokens)
        for k, v in cnt.items():
            if v == 1 :
                ans.append(k)
        return ans 
相关文章
|
7月前
|
存储 自然语言处理 算法
算法编程(十九):词典中最长的单词
算法编程(十九):词典中最长的单词
74 0
|
6月前
|
Python
每日一题 2047. 句子中的有效单词数
每日一题 2047. 句子中的有效单词数
|
C语言
【每日一题】 将一句话单词倒置,标点不倒置
【每日一题】 将一句话单词倒置,标点不倒置
204 0
【每日一题】 将一句话单词倒置,标点不倒置
|
7月前
【力扣】1832.判断句子是否为全字母句
【力扣】1832.判断句子是否为全字母句
|
7月前
leetcode-884:两句话中的不常见单词
leetcode-884:两句话中的不常见单词
40 0
|
关系型数据库 Java Android开发
IELTS学习(002) - 单词(自然地理篇)
IELTS学习(002) - 单词(自然地理篇)
95 0
|
自然语言处理 IDE 开发工具
C++常见英语单词总结(1)
C++常见英语单词总结(1)
|
存储
Leecode 1160. 拼写单词
Leecode 1160. 拼写单词
68 0
LeetCode 1832. 判断句子是否为全字母句
全字母句 指包含英语字母表中每个字母至少一次的句子。
111 0