1078. Occurrences After Bigram

# 1078. 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. `1 <= text.length <= 1000`
2. `text` consists of space separated words, where each word consists of lowercase English letters.
3. `1 <= first.length, second.length <= 10`
4. `first` and `second` consist of lowercase English letters.

## 解题思路 #

• 简单题。给出一个 text，要求找出紧接在 first 和 second 后面的那个字符串，有多个就输出多个。解法很简单，先分解出 words 每个字符串，然后依次遍历进行字符串匹配。匹配到 first 和 second 以后，输出之后的那个字符串。

## 代码 #

``````
package leetcode

import "strings"

func findOcurrences(text string, first string, second string) []string {
var res []string
words := strings.Split(text, " ")
if len(words) < 3 {
return []string{}
}
for i := 2; i < len(words); i++ {
if words[i-2] == first && words[i-1] == second {
res = append(res, words[i])
}
}
return res
}

`````` Sep 11, 2022 Edit this page