1078. Occurrences After Bigram

1078. Occurrences After Bigram #

Problem #

Given words first and second, consider occurrences in some text of the form “first second third”, where second comes immediately after first, and thirdcomes 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.

Problem Summary #

Given the first word first and the second word second, consider occurrences in some text text of the form “first second third”, where second comes immediately after first, and third comes immediately after second. For each such occurrence, add the third word “third” to the answer, and return the answer.

Solution Approach #

  • Easy problem. Given a text, find the string immediately following first and second, and output all such strings if there are multiple. The solution is very simple: first split words into individual strings, then traverse them in order for string matching. After matching first and second, output the string that follows them.

Code #


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
}


Calendar Jun 25, 2026
Edit Edit this page
Total visits:   You are visitor No.
中文