gpt4 book ai didi

java - 发现一个字符串是否是其他字符串的子字符串

转载 作者:搜寻专家 更新时间:2023-11-01 02:52:38 28 4
gpt4 key购买 nike

  public class StringIsSubstring {


public static void main(String[] args) {
String s1= new String("anurag");
String s2=new String("anu");

char a[]=s1.toCharArray();
char b[]=s2.toCharArray();
int i=0;
int j=0;

while(i<a.length && j<b.length)
{
if(a[i]==b[j])
{
i++;
j++;
}
else
{
i++;
j=0;
}
if(j == b.length)
{
System.out.println("we have found the substring");
}
}
}
}

我编写了以下代码来确定一个字符串是否是其他字符串的子字符串。我不想使用任何库函数。有没有更有效的方法来做同样的事情

最佳答案

如果不使用库函数,就不可能对 String 进行任何操作。例如,您的代码使用 String.toCharArray。如果您可以使用它,那么您也可以使用 String.indexOf 并避免重新发明轮子。

人们建议使用 Boyer-Moore。如果您要搜索大量文本(在 String 实例或其他一些表示形式中),这是一个不错的选择。但是,如果您只想搜索一小块文本(如您的问题),那么 Boyer-Moore 的设置成本意味着 String.indexOf() 会更快。这同样适用于其他复杂的算法。


所以,这个问题唯一有意义的方法是,如果这是一个家庭作业练习,其中包括对允许使用什么来解决问题的限制。在那种情况下,除非你正在学习算法类(class),否则我怀疑他们希望你研究和实现复杂的算法。

关于java - 发现一个字符串是否是其他字符串的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8455068/

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