【问题标题】:How to find substring without String methods using char arrays? [closed]如何使用 char 数组查找没有字符串方法的子字符串? [关闭]
【发布时间】:2014-04-03 17:24:04
【问题描述】:

您不能使用任何内置函数,例如 indexOf()contains() 或 String 类的 match()。

使用给定的 char 数组在字符串 webapple 中查找字符串 apple?

String webapple ="webapple";
String apple="apple";
char[] webappleArray=webapple.toCharArray();
char[] appleArray = apple.toCharArray();

写一个函数

public boolean isPresent(char[] apple ,char[] webapple ){
    //your code here 
}

【问题讨论】:

  • 被问到了那个面试问题。
  • @JasonC 不是重复的,因为这里不允许使用 indexof
  • @user1659644 然后使用您的编程技巧并找出逻辑,一旦您尝试过某事,当您遇到特定问题时,请随时回到这里并询问它。如果您甚至无法自己尝试,那么您不妨考虑面试其他类型的工作。
  • 我没有看到你在苦苦挣扎,我看到你在寻找可以自己解决的问题的答案。
  • 查找文本中是否存在文本的最佳算法是 Horspool 算法。我知道你可能会要求你的作业你的面试,检查谷歌“它是如何工作的”,“你怎么能用Java写作”,简单地说:制作一个一点点努力.

标签: java string algorithm


【解决方案1】:

我在这里添加它以防有人真的需要它或想从中学习:

public static void main(String[] args) {
    String webapple = "webapple";
    String apple = "apple";
    char[] webappleArray = webapple.toCharArray();
    char[] appleArray = apple.toCharArray();
    System.out.println(isPresent(appleArray, webappleArray));
}

public static boolean isPresent(char[] apple, char[] webapple) {
    for (int i = 0; i < webapple.length - apple.length+1; i++) {
        for (int j = 0; j < apple.length; j++) {
            if (webapple[i + j] == apple[j]) {
                if (j == apple.length - 1) {
                    return true;
                }
            } else {
                break;
            }
        }
    }
    return false;
}

【讨论】:

  • 老兄。我不希望他“在地狱中燃烧”,但我确实希望他编写的一些软件最终会因稳定性和可用性问题而让感到沮丧。您的回答对提问者造成极大伤害。
  • @JasonC - 你在互联网上发现了很多很多很多没有答案的问题,这比没有机会实际编程任何东西的坏人更令人沮丧。
  • 如果一开始就给出了更有意义和更持久的答案,你会在互联网上找到更少的问题。像你这样的答案正是为什么 OP 在未能在这里学习基本的问题解决技巧之后(至少你只是向他展示了 for 循环的作用),最终会在未来提出另一个未回答的问题。
  • 实际上,如果他们问的答案在 stackoverflow 上没有得到回答(至少在流行或线程名称类似的问题中没有回答),我会很高兴。
  • 撇开我的分歧不谈,如果您认为是这种情况,请考虑编辑 OP 的问题,为其赋予更具描述性的标题,以便其他人将来可以找到它,而不是重新提出相同的问题。如果您正在寻求改善社区,请一路走下去或不要打扰。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 2017-07-24
  • 1970-01-01
  • 2015-12-31
  • 2013-04-21
  • 1970-01-01
  • 2015-03-20
相关资源
最近更新 更多