当前位置: 面试刷题>> 多字符串查找 (经典算法题500道)


题目描述补充

题目:多字符串查找

给定一个主字符串(text)和一个字符串列表(patterns),要求编写一个函数来查找列表中所有字符串在主字符串中出现的起始索引位置。如果某个字符串在主字符串中未找到,则在其结果列表中返回-1。需要注意的是,查找过程应该区分大小写,且字符串列表中的字符串在主字符串中的查找是独立的,互不影响。

示例

输入

  • 主字符串:text = "hello world, welcome to the universe."
  • 字符串列表:patterns = ["world", "to", "code", "universe"]

输出

  • [7, 13, -1, 27]

PHP 示例代码

function multiStringSearch($text, $patterns) {
    $result = array();
    foreach ($patterns as $pattern) {
        $pos = strpos($text, $pattern);
        $result[] = $pos !== false ? $pos : -1;
    }
    return $result;
}

// 测试示例
$text = "hello world, welcome to the universe.";
$patterns = ["world", "to", "code", "universe"];
$result = multiStringSearch($text, $patterns);
print_r($result);

Python 示例代码

def multi_string_search(text, patterns):
    return [text.find(pattern) for pattern in patterns]

# 测试示例
text = "hello world, welcome to the universe."
patterns = ["world", "to", "code", "universe"]
result = multi_string_search(text, patterns)
print(result)

JavaScript 示例代码

function multiStringSearch(text, patterns) {
    return patterns.map(pattern => text.indexOf(pattern));
}

// 测试示例
const text = "hello world, welcome to the universe.";
const patterns = ["world", "to", "code", "universe"];
const result = multiStringSearch(text, patterns);
console.log(result);

码小课网站相关内容分享

码小课网站提供了丰富的编程学习资源,包括但不限于算法、数据结构、前端开发、后端开发、数据库等多个领域的课程。在码小课网站上,你可以找到更多关于字符串处理、搜索算法、以及性能优化的深入解析和实战案例,帮助你进一步提升编程技能,解决实际工作中的问题。

推荐面试题