leetcode-884两句话中的不常见单词

'''
给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)

如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。

返回所有不常用单词的列表。

您可以按任何顺序返回列表。

示例 1:

输入:A = "this apple is sweet", B = "this apple is sour"
输出:["sweet","sour"]
示例 2:

输入:A = "apple apple", B = "banana"
输出:["banana"]

提示:

0 <= A.length <= 200
0 <= B.length <= 200
A 和 B 都只包含空格和小写字母
'''

import copy

class Solution:
    def uncommonFromSentences(self, A, B):
        """
        :type A: str
        :type B: str
        :rtype: List[str]
        """
        la=A.split()
        lb = B.split()
        la_n = self._get_lc(la)
        lb_n = self._get_lc(lb)
        C = []
        for i in la_n:
            if i not in lb:
                C.append(i)
            else:
                pass
        for i in lb_n:
            if i not in la:
                C.append(i)
            else:
                pass
        return list(set(C))

    def _get_lc(self,la):#返回一个新的数组,去除出现2次以上的单词
        ll =  copy.deepcopy(la)
        for i in set(ll):
            if ll.count(i) > 1:
                while i in ll:
                    ll.remove(i)
            else:
                pass
        return ll

if __name__ == '__main__':
    A="s z z z s"
    B="s z ejt"
    Solution = Solution()
    print(Solution.uncommonFromSentences(A,B))

原文地址:https://www.cnblogs.com/mrwuzs/p/9718132.html

时间: 2024-10-10 01:19:14

leetcode-884两句话中的不常见单词的相关文章

leetcode 884. 两句话中的不常见单词 (python)

给定两个句子 A 和 B . (句子是一串由空格分隔的单词.每个单词仅由小写字母组成.) 如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的. 返回所有不常用单词的列表. 您可以按任何顺序返回列表. 示例 1: 输入:A = "this apple is sweet", B = "this apple is sour"输出:["sweet","sour"]示例 2: 输入:A = &qu

模式识别之相似度计量---余弦计算相似度度量关于两句话的相似度

余弦计算相似度度量 相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大. 对于多个不同的文本或者短文本对话消息要来计算他们之间的相似度如何,一个好的做法就是将这些文本中词语,映射到向量空间,形成文本中文字和向量数据的映射关系,通过计算几个或者多个不同的向量的差异的大小,来计算文本的相似度.下面介绍一个详细成熟的向量空间余弦相似度方法计算相似度 向量空间余弦相似度(Cosine Similarity) 余弦相似度用向

两句话动态修改table数据并提交到后台

//为所有的input 添加click事件,我将对象的id放入到name属性中,行数放入到alt属性中 $("input").click(function(obj){ //获得当前事件发生的dom对象 var $obj=$(this); //判断是否为修改操作 if($obj.prop("value")=="修改"){ //获得当前操作的行对象 var $table=$("table").get(0).rows[$obj.pr

iOS: 两句话给UILabel添加下划线

1. 将UILabel控件的Text属性设为Attributed 2. 在viewDidLoad方法中添加如下语句: NSDictionary *underlineAttribute = @{NSUnderlineStyleAttributeName: @(NSUnderlineStyleSingle)}; lbPrivacy.attributedText = [[NSAttributedString alloc] initWithString:@"隐私政策" attributes:u

两句话搞懂 url,uri,urn 区别

<cnmm22 动感原创:http://blog.csdn.net/cnmm22/article/details/44833045> 理解这个问题依然要站在设计者的角度而不是使用者 作为使用者,只关心如何去找到一个资源 而设计者在解决这个问题的时候则要考虑多种情形,考虑不周则有可能找不到 所有跟定位一个资源相关的信息都是URI 假设URL能找到资源了,OK,URI就是URL 在本地应用场合,URI可能只代表一个相对路径,能找到资源就行,这时一个相对路径也是URI,因为它定位了一个资源 有一种情

尽快和钢结构积分两句话就分开就

t.lcxw.cn/vote/view/vid-2219915/20141104 t.lcxw.cn/vote/view/vid-2219910/20141104 t.lcxw.cn/vote/view/vid-2219904/20141104 t.lcxw.cn/vote/view/vid-2219898/20141104 t.lcxw.cn/vote/view/vid-2219893/20141104 t.lcxw.cn/vote/view/vid-2219886/20141104 t.lc

C语言:5位运动员每人说了两句话,均有一句话正确,预测比赛结果

#include<stdio.h> int main() { int A;   int B; int C; int D; int E; for(A=1;A<=5;A++) { for(B=1;B<=5;B++) { for(C=1;C<=5;C++) { for(D=1;D<=5;D++) { for(E=1;E<=5;E++) { if (((B==1)+(A==3))==1&& ((B==2)+(E==4))==1&& ((C=

两句话题意 感觉这一题的套路很强

http://acm.uestc.edu.cn/#/problem/show/1171 颠覆了我求gcd的思路,以前的都是mobius求gcd = 1的,现在的这个能求所有的. 设ans[i]表示gcd = i的集合数. 那么需要求ans[k],我们需要知道所有k.2*k.3*k......的元素的个数总和. 那么所有可能的集合数是2^cnt - 1 但是比如要算2,先求出2.4.6.8.10.......的总和,这样的算出来的集合有可能产生gcd = k的倍数的不合法情况. 需要减去,假设是逆

CDOJ 1171 两句话题意

题目链接:http://acm.uestc.edu.cn/#/problem/show/1171 题解: 这道题应该从gcd出来的值入手. 我们要求所有子集的gcd的和 首先我们先统计一下每个数字出现的次数. 然后从大到小找,每次都可以算出来gcd是当前值的子集数量. 我们要这么做:假设当前算gcd=i的情况,我们把所有i的倍数的数统计一下,那么在这些数(假设有n个)里,我们只要选至少一个就可以得到gcd=(i的倍数)的情况总数(2^n-1).但是这不是我们需要的i,需要减去大于i的且是i的倍数