★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-volphfnj-mb.html
➤若是连接不是山青咏芝的博客园地址,则多是爬取做者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持做者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
Given words 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
.git
For each such occurrence, add "third
" to the answer, and return the answer.github
Example 1:微信
Input: text = "alice is a good girl she is a good student", first = "a", second = "good" Output: ["girl","student"]
Example 2:app
Input: text = "we will we will rock you", first = "we", second = "will" Output: ["we","rock"]
Note:ide
1 <= text.length <= 1000
text
consists of space separated words, where each word consists of lowercase English letters.1 <= first.length, second.length <= 10
first
and second
consist of lowercase English letters.给出第一个词 first
和第二个词 second
,考虑在某些文本 text
中可能以 "first second third
" 形式出现的状况,其中 second
紧随 first
出现,third
紧随 second
出现。spa
对于每种这样的状况,将第三个词 "third
" 添加到答案中,并返回答案。 code
示例 1:component
输入:text = "alice is a good girl she is a good student", first = "a", second = "good" 输出:["girl","student"]
示例 2:orm
输入:text = "we will we will rock you", first = "we", second = "will" 输出:["we","rock"]
提示:
1 <= text.length <= 1000
text
由一些用空格分隔的单词组成,每一个单词都由小写英文字母组成1 <= first.length, second.length <= 10
first
和 second
由小写英文字母组成1 class Solution { 2 func findOcurrences(_ text: String, _ first: String, _ second: String) -> [String] { 3 let subString = first + " " + second 4 let arr = text.split(separator: " ") 5 var result = [String]() 6 for i in 0..<arr.count-2 { 7 if arr[i] == first && arr[i+1] == second { 8 result.append(String(arr[i+2])) 9 } 10 } 11 return result 12 } 13 }
Runtime: 8 ms
1 import Foundation 2 class Solution { 3 func findOcurrences(_ text: String, _ first: String, _ second: String) -> [String] { 4 if text.isEmpty {return []} 5 var words:[String] = text.components(separatedBy: " ") 6 var list:[String] = [String]() 7 for i in 2..<words.count 8 { 9 if first == words[i-2] && second == words[i-1] 10 { 11 list.append(words[i]) 12 } 13 } 14 return list 15 } 16 }
8ms
1 class Solution { 2 func findOcurrences(_ text: String, _ first: String, _ second: String) -> [String] { 3 var answer: [String] = [] 4 5 var words = Array(text.split(separator: " ")) 6 7 var i = 0 8 9 while (i + 2) < words.count { 10 if words[i] == first, words[i + 1] == second { 11 answer.append(String(words[i + 2])) 12 } 13 14 i += 1 15 } 16 17 return answer 18 } 19 }