gpt4 book ai didi

java - 我们如何在 O(n) 时间内实现 "substring-match"?

转载 作者:搜寻专家 更新时间:2023-10-30 21:16:46 24 4
gpt4 key购买 nike

我的作业需要读取大量随机输入文件,例如:

Adana 
Izmir Adnan Menderes Apt
Addis Ababa
Aden
ADIYAMAN
ALDAN
Amman Marka Intl Airport
Adak Island
Adelaide Airport
ANURADHAPURA
Kodiak Apt
DALLAS/ADDISON
Ardabil
ANDREWS AFB
etc..

如果我指定一个搜索词,程序应该找到出现子字符串的行。例如,如果搜索词是“uradha”,程序应该显示 ANURADHAPURA。如果搜索词是“airport”,程序应该显示 Amman Marka Intl Airport, Adelaide Airport

作业规范中的引述:“您要在编写此应用程序时考虑效率,就好像涉及大量数据和处理一样……”

我可以使用循环轻松实现此功能,但性能为 O(n)。我正在考虑使用 trie但它似乎只有在子字符串从索引 0 开始时才有效。

我想知道有哪些解决方案可以提供比 O(n) 更好的性能?

最佳答案

Here's最坏情况时间复杂度为 O(n)。

顺便说一句,你应该 Collection 这个链接:http://www-igm.univ-mlv.fr/~lecroq/string/

关于java - 我们如何在 O(n) 时间内实现 "substring-match"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com