leetcode-1078-easy
Occurrences After Bigram
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.
思路一:分割字符串,然后比较。注意 first, second, third 三个字符串都相同的特殊情况。用了分割执行速度会慢很多,但是代码会简洁很多
public String[] findOcurrences(String text, String first, String second) {
String[] arr = text.split("\\s");
List<String> result = new ArrayList<>();
for (int i = 0; i < arr.length - 2; i++) {
if (arr[i].equals(first) && arr[i + 1].equals(second)) {
result.add(arr[i + 2]);
}
}
return result.toArray(new String[0]);
}

浙公网安备 33010602011771号