gpt4 book ai didi

java - 如何在java中返回字符串中最长的字符序列?

转载 作者:搜寻专家 更新时间:2023-11-01 01:10:20 25 4
gpt4 key购买 nike

以下是我最终做的,但我没有找到正确的答案。

示例 - 如果我有序列“hellloo”,输出将为“lll”。请告诉我哪里出了问题?

public class LongestSequenceOfChar {
static String testcase1="hellloo";

public static void main(String[] args) {
LongestSequenceOfChar test = new LongestSequenceOfChar();
String result = test.longestSequenceOfChar(testcase1);
System.out.println(result);
}
public String longestSequenceOfChar(String str){
String result="";
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
for(int j=i+1;j<str.length();j++){
char ch1=str.charAt(j);
if(ch!=ch1){
continue;
}
result+=ch;
}
}
return result;
}
}

最佳答案

你现在应该有一个计数器来计算最长序列的数量。当您发现更长的序列时,您应该重置 result 并相应地更新计数器。

但是,您可以有更好的解决方案:

  • 有一个大小为 26(英文字母的大小)的数组。现在您迭代 String 并为其中的每个 char 在辅助数组的相应单元格中添加 1。
  • 使用 HashMap,将 char 作为 key 并将它显示的数字作为 value。如果它是一个新的 char,您只需它的值为 0,如果它存在,则增加现有的

提示:使用调试器,它可以挽救你的生命。

关于java - 如何在java中返回字符串中最长的字符序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21748970/

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