1. 题目

给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 “first second third” 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。

对于每种这样的情况,将第三个词 “third” 添加到答案中,并返回答案。

示例 1:输入:text = "alice is a good girl she is a good student",
first = "a", second = "good"
输出:["girl","student"]
示例 2:输入:text = "we will we will rock you",
first = "we", second = "will"
输出:["we","rock"]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/occurrences-after-bigram
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 题目很简单,需要理清楚逻辑和边界条件处理好
class Solution {public:vector<string> findOcurrences(string text, string first, string second) {vector<string> ans;string cur;bool firstEq, secondEq;firstEq = secondEq = false;for(int i = 0; i < text.size(); ++i){if(text[i] == ' ' && i != text.size()-1){if(firstEq == true && secondEq == false){if(cur == second)secondEq = true;else{if(cur != first)firstEq = false;}}else if(firstEq == false){if(cur == first)firstEq = true;}else if(firstEq == true && secondEq == true){ans.push_back(cur);cur == first ? firstEq = true : firstEq = false;secondEq = false;}cur = "";}else if(i == text.size()-1){cur.push_back(text[i]);if(firstEq == true && secondEq == true)ans.push_back(cur);}elsecur.push_back(text[i]);}return ans;}
};

LeetCode 1078. Bigram 分词相关推荐

  1. 1078. Bigram 分词

    链接:1078. Bigram 分词 题解: class Solution { public:vector<string> findOcurrences(string text, stri ...

  2. ★LeetCode(1078)——Bigram 分词(JavaScript)

    给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 "first second third" 形式出现的情况,其中 second 紧随 firs ...

  3. 让机器学会断句:基于词典的Bigram分词算法

    目录 概述 从序列到图 Unigram 模型 Bigram 模型 实现 概述 分词是NLP任务Pipeline中的重要步骤,一般来说都需要将句子切分成词之后,才能进一步把词进行向量化,最终输出各种各样 ...

  4. LeetCode题解目录

    最新更新于2020.11.27 前往LeetCode主页. 前往GitHub源码.(服务器原因,暂停同步.) 前往码云主页. 已解决 456/1878 - 简单353 中等 90 困难 13 2020 ...

  5. Java字符串之split方法

    文章目录 1 String[] split(String regex) 2 String[] split(String regex, int limit) 3 split()的应用 3.1 leetc ...

  6. 【LeetCode 总结】Leetcode 题型分类总结、索引与常用接口函数

    文章目录 零. Java 常用接口函数 一. 动态规划 二. 链表 三. 哈希表 四. 滑动窗口 五. 字符串 六. DFS.BFS 七. 二分法 八. 二叉树 九. 偏数学.过目不忘 and 原地算 ...

  7. LeetCode 刷题之路(python版)

    摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...

  8. LeetCode专题

    LeetCode解题笔记 前言 复习 树 数组专题 字符串专题 动规专题 哈希表 排序 每日一题 前言 前段时间因为考试等懈怠了,重新开始做题.决定专门开一篇博客迭代记录了,不然文章散乱. 339.除 ...

  9. LeetCode 700题 题解答案集合 Python

    2019.5.12更新至题号796,目前共有265题. 2019.5.26更新至题号72, 目前共有347题. 2019.6.16更新至题号70,目前共有382题. 2019.7.7更新至题号5120 ...

最新文章

  1. 梯度下降法的三种形式-BGD、SGD、MBGD
  2. 眨眼检测 疲劳检测,分享代码
  3. python -- 字符串的方法及注释
  4. ORACLE 内置函数之 GREATEST 和 LEAST(转)
  5. c语言中 %.2s,C2S是什么意思
  6. VMware 报错“Intel VT-x处于禁止状态”
  7. 《IT项目管理那些事儿》——国内第一本项目管理的实践书籍
  8. 如何开始在 Mac 上使用快捷方式?
  9. atitit 读书与获取知识资料的attilax的总结与心得 v6
  10. 关于C笔记使用体验和比较
  11. 数字化时代品牌营销:体验 感知 共创
  12. 产品开发之小步快跑,快速迭代
  13. 源码主干分支开发四大模式
  14. 四个问题,判断自己是否适合学习编程
  15. one 主格 复数 宾格_人称代词的主格和宾格
  16. 小米盒子 远程访问 计算机,小米盒子、电视远程安装电视狗视频图文教程
  17. [Phonegap+Sencha Touch] 移动开发68 Sencha Touch弹出键盘挡住输入框的解决办法
  18. 课程设计:飞机航班信息查询系统
  19. julia的plot
  20. 瞎折腾篇:联想笔记本外扩GTX1060——刷BIOS

热门文章

  1. 手机触摸屏的分类和原理,供大家选择手机时用
  2. 学习过程中的一些细节
  3. iOStextField/textView在输入时限制emoji表情的输入
  4. 代理模式——HeadFirst设计模式学习笔记
  5. 【开发软件】推荐一款MAC OS X 下php集成开发环境mamp
  6. Matlab R2010a 32bit 绿色免安装版
  7. c++ 线程间通信方式
  8. Android bootchart分析
  9. java查询多条_Mybatis查询多条记录并返回List集合的方法
  10. GetLocalTime