g1001_1100.s1078_occurrences_after_bigram.Solution Maven / Gradle / Ivy
package g1001_1100.s1078_occurrences_after_bigram;
// #Easy #String #2022_02_26_Time_0_ms_(100.00%)_Space_40.4_MB_(48.38%)
import java.util.ArrayList;
import java.util.List;
/**
* 1078 - Occurrences After Bigram\.
*
* Easy
*
* Given two strings `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`.
*
* Return _an array of all the words_ `third` _for each occurrence of_ `"first second third"`.
*
* **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"]
*
* **Constraints:**
*
* * `1 <= text.length <= 1000`
* * `text` consists of lowercase English letters and spaces.
* * All the words in `text` a separated by **a single space**.
* * `1 <= first.length, second.length <= 10`
* * `first` and `second` consist of lowercase English letters.
**/
public class Solution {
public String[] findOcurrences(String text, String first, String second) {
List list = new ArrayList<>();
String[] str = text.split(" ");
for (int i = 0; i < str.length; i++) {
if (str[i].equals(first) && str.length - 1 >= i + 2 && str[i + 1].equals(second)) {
list.add(str[i + 2]);
}
}
String[] s = new String[list.size()];
int j = 0;
for (String ele : list) {
s[j++] = ele;
}
return s;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy