Suppose there are words given. These are first and second, consider occurrences in some text of the form "first second third", here second comes immediately after the first, and third comes immediately after the second.
For each such cases, add "third" into the answer, and show the answer. So if the text is like “lina is a good girl she is a good singer”, first = “a”, second = “good”, the answer will be [girl, singer]
To solve this, we will follow these steps −
- text := split the string by spaces
- res is an empty list
- for i := 0 to size of text – 1
- if i + 2 < length of text, and text[i] = first and text[i + 1] = second, then append text[i + 2] into res
- return res
Example
Let us see the following implementation to get better understanding −
class Solution(object): def findOcurrences(self, text, first, second): text = text.split(" ") res = [] for i in range(len(text)): if i+2<len(text) and text[i] ==first and text[i+1]==second: res.append(text[i+2]) return res ob1 = Solution() print(ob1.findOcurrences("lina is a good girl she is a good singer","a","good"))
Input
"lina is a good girl she is a good singer" "a" "good"
Output
['girl', 'singer']