LeetCode 1078. Bigram 分词
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 分词相关推荐
- 1078. Bigram 分词
链接:1078. Bigram 分词 题解: class Solution { public:vector<string> findOcurrences(string text, stri ...
- ★LeetCode(1078)——Bigram 分词(JavaScript)
给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 "first second third" 形式出现的情况,其中 second 紧随 firs ...
- 让机器学会断句:基于词典的Bigram分词算法
目录 概述 从序列到图 Unigram 模型 Bigram 模型 实现 概述 分词是NLP任务Pipeline中的重要步骤,一般来说都需要将句子切分成词之后,才能进一步把词进行向量化,最终输出各种各样 ...
- LeetCode题解目录
最新更新于2020.11.27 前往LeetCode主页. 前往GitHub源码.(服务器原因,暂停同步.) 前往码云主页. 已解决 456/1878 - 简单353 中等 90 困难 13 2020 ...
- Java字符串之split方法
文章目录 1 String[] split(String regex) 2 String[] split(String regex, int limit) 3 split()的应用 3.1 leetc ...
- 【LeetCode 总结】Leetcode 题型分类总结、索引与常用接口函数
文章目录 零. Java 常用接口函数 一. 动态规划 二. 链表 三. 哈希表 四. 滑动窗口 五. 字符串 六. DFS.BFS 七. 二分法 八. 二叉树 九. 偏数学.过目不忘 and 原地算 ...
- LeetCode 刷题之路(python版)
摘自:https://blog.csdn.net/qq_32384313/article/details/90745354 LeetCode 刷题之路(python版) 小坏wz 2019-06-02 ...
- LeetCode专题
LeetCode解题笔记 前言 复习 树 数组专题 字符串专题 动规专题 哈希表 排序 每日一题 前言 前段时间因为考试等懈怠了,重新开始做题.决定专门开一篇博客迭代记录了,不然文章散乱. 339.除 ...
- LeetCode 700题 题解答案集合 Python
2019.5.12更新至题号796,目前共有265题. 2019.5.26更新至题号72, 目前共有347题. 2019.6.16更新至题号70,目前共有382题. 2019.7.7更新至题号5120 ...
最新文章
- 梯度下降法的三种形式-BGD、SGD、MBGD
- 眨眼检测 疲劳检测,分享代码
- python -- 字符串的方法及注释
- ORACLE 内置函数之 GREATEST 和 LEAST(转)
- c语言中 %.2s,C2S是什么意思
- VMware 报错“Intel VT-x处于禁止状态”
- 《IT项目管理那些事儿》——国内第一本项目管理的实践书籍
- 如何开始在 Mac 上使用快捷方式?
- atitit 读书与获取知识资料的attilax的总结与心得 v6
- 关于C笔记使用体验和比较
- 数字化时代品牌营销:体验 感知 共创
- 产品开发之小步快跑,快速迭代
- 源码主干分支开发四大模式
- 四个问题,判断自己是否适合学习编程
- one 主格 复数 宾格_人称代词的主格和宾格
- 小米盒子 远程访问 计算机,小米盒子、电视远程安装电视狗视频图文教程
- [Phonegap+Sencha Touch] 移动开发68 Sencha Touch弹出键盘挡住输入框的解决办法
- 课程设计:飞机航班信息查询系统
- julia的plot
- 瞎折腾篇:联想笔记本外扩GTX1060——刷BIOS