【題目描述】
給出第一個詞 first 和第二個詞 second就珠,考慮在某些文本 text 中可能以 "first second third" 形式出現(xiàn)的情況瞬沦,其中 second 緊隨 first 出現(xiàn),third 緊隨 second 出現(xiàn)剿另。
對于每種這樣的情況箫锤,將第三個詞 "third" 添加到答案中,并返回答案雨女。
【示例1】
輸入:text = "alice is a good girl she is a good student", first = "a", second = "good"
輸出:["girl","student"]
【示例2】
輸入:text = "we will we will rock you", first = "we", second = "will"
輸出:["we","rock"]
【提示】
1谚攒、1 <= text.length <= 1000
2、text 由一些用空格分隔的單詞組成氛堕,每個單詞都由小寫英文字母組成
3馏臭、1 <= first.length, second.length <= 10
4、first 和 second 由小寫英文字母組成
思路:
1岔擂、剛開始題目理解錯了位喂,導(dǎo)致走向了錯誤的道路
2、其實這個題目很簡單乱灵,首先把text切割為字符串?dāng)?shù)組
3塑崖、因為first 和 second 字符串已經(jīng)給出了,在text中找到一個滿足str=first && arr[str+1]=second痛倚,然后返回arr[str+2]的字符串
4规婆、時間復(fù)雜度O(n)
5、空間復(fù)雜度O(n)
Swift代碼實現(xiàn)
func findOcurrences(_ text: String, _ first: String, _ second: String) -> [String] {
var reslut = [String]()
let strArr = text.components(separatedBy: " ")
for i in 0..<strArr.count-2 {
if strArr[i] == first && strArr[i+1] == second {
reslut.append(strArr[i+2])
}
}
return reslut
}