跳过正文

26日 No.1078 Bigram分词

·459 字·1 分钟
曙光磁铁
作者
曙光磁铁

给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 "first second third" 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。

对于每种这样的情况,将第三个词 "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 <= text.length <= 1000
  • text 由小写英文字母和空格组成
  • text 中的所有单词之间都由 单个空格字符 分隔
  • 1 <= first.length, second.length <= 10
  • first 和 second 由小写英文字母组成

思路分析
#

这道题就只需在遍历数组的同时判断一下是否满足题目所给的条件即可

Rust 代码
#

impl Solution {
    pub fn find_ocurrences(text: String, first: String, second: String) -> Vec<String> {
        let mut is_one = false;
        let mut is_two = false;
        let mut res = vec![];
        let mut pre1 = "";
        let mut pre2 = "";
        for word in text.split(" ") {
            if pre1 == first && pre2 == second {
                res.push(word.to_string());
            }
            pre1 = pre2;
            pre2 = word;
        }
        res
    }
}