0
点赞
收藏
分享

微信扫一扫

1078. Occurrences After Bigram*

yundejia 2022-05-30 阅读 57

1078. Occurrences After Bigram*

​​https://leetcode.com/problems/occurrences-after-bigram/​​

题目描述

Given words ​​first​​​ and ​​second​​​, consider occurrences in some ​​text​​​ of the form ​​"first second third"​​​, where ​​second​​​ comes immediately after ​​first​​​, and ​​third​​​ comes immediately after ​​second​​.

For each such occurrence, add ​​"third"​​ to the answer, and return the answer.

Example 1:

Input: text = "alice is a good girl she is a good student", first = "a", second = "good"
Output: ["girl","student"]

Example 2:

Input: text = "we will we will rock you", first = "we", second = "will"
Output: ["we","rock"]

Note:

  • ​1 <= text.length <= 1000​
  • ​text​​ consists of space separated words, where each word consists of lowercase English letters.
  • ​1 <= first.length, second.length <= 10​
  • ​first​​​ and​​second​​ consist of lowercase English letters.

C++ 实现 1

使用 ​​stringstream​​ 来做. 另外还可以考虑 KMP.

class Solution {
public:
vector<string> findOcurrences(string text, string first, string second) {
stringstream ss(text);
string prev2, prev, cur;
vector<string> res;
while (ss >> cur) {
if (prev2 == first && prev == second) res.push_back(cur);
prev2 = prev;
prev = cur;
}
return res;
}
};

举报

相关推荐

0 条评论