前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode-884-两句话中的不常见单词

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

作者头像
chenjx85
发布2018-09-29 15:22:54
6510
发布2018-09-29 15:22:54
举报

题目描述:

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

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

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

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

示例 1:

代码语言:javascript
复制
输入:A = "this apple is sweet", B = "this apple is sour"
输出:["sweet","sour"]

示例 2:

代码语言:javascript
复制
输入:A = "apple apple", B = "banana"
输出:["banana"]

提示:

  1. 0 <= A.length <= 200
  2. 0 <= B.length <= 200
  3. A 和 B 都只包含空格和小写字母。

要完成的函数:

vector<string> uncommonFromSentences(string A, string B) 

说明:

1、做久了medium的题目,回过头来做一道新出的easy题,感觉真是十分畅爽啊。

这道题给定两个字符串A和B,A和B中只包含空格和小写字母,要求找出在A中只出现一次并且在B中没有出现的单词,同时再找出在B中只出现一次并且在A中没有出现的单词。

把这些单词插入到vector中,最终返回包含string格式的vector。

2、其实考虑一下,就会发现这道题其实是要找只出现一次的单词。

如果某个单词在A中出现了两次,那么不用返回。如果某个单词在B中出现了两次,也不用返回。

如果某个单词在A中出现了一次,在B中出现了一次,那么也不用返回。

所以我们需要返回的只是 只出现一次的单词。

代码如下:(附详解)

代码语言:javascript
复制
    vector<string> uncommonFromSentences(string A, string B) 
    {
        unordered_map<string,int>m1;//定义成unordered_map不需要排序,更省时间
        vector<int>res;//最终要返回的vector
        int i=0,j=0;
        while(j<=A.size())//把A中每一个单词切分出来
        {
            if(A[j]==' '||A[j]=='\0')
            {
                m1[A.substr(i,j-i)]++;//默认初始化为0,所以直接++就好
                i=j+1;//i更新到j的下一位,也就是下一个单词的首位
            }
            j++;
        }
        i=0,j=0;
        while(j<=B.size())//同样操作,把B中每一个单词切分出来
        {
            if(B[j]==' '||B[j]=='\0')
            {
                m1[B.substr(i,j-i)]++;
                i=j+1;
            }
            j++;
        }
        for(auto iter=m1.begin();iter<m1.end();iter++)//遍历一遍map,看一下哪一个单词出现次数是1
        {
            if(iter->second==1)
                res.push_back(iter->first);//把这个单词插入到vector中
        }
        return res;
    }

上述代码实测0ms,beats 100.00% of cpp submissions。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述:
  • 要完成的函数:
  • 说明:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档