gpt4 book ai didi

java - 如何检查一个词是否好听(Java)

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:22 25 4
gpt4 key购买 nike

NICE的定义如下

如果一个词包含与适当的前缀和适当的后缀相同的字符串,则该词很好。正确的前缀或后缀不能与单词本身一样长。例如:-manama 很好,因为它包含 ma 作为正确的前缀和正确的后缀。所以输出将是“NICE”

巴拿马不是一个好词。在这种情况下输出将是“NOT”

我的解决方案工作正常,但对于一些输入(单词)长度很长的测试用例来说,它花费的时间太长。

public static String findNice(String word)  {
if((word == null) || (word.length()==1))
return "NOT";
char[] charArr = word.toCharArray();
//System.out.println(charArr.length);
boolean flag = false;
for(int i = (charArr.length)/2; i < charArr.length ;++i) {
if(charArr[0] == charArr[i]) {
flag = compareSubString(charArr,0,i);
}
}
if(flag)
return "NICE";
return "NOT";
}
public static boolean compareSubString(char[] seq, int ptr1, int ptr2) {
boolean flag = true;
for(int i = ptr1,j = ptr2 ; j < seq.length ;++i,++j) {
if(seq[i] != seq[j]) {
flag = false;
}
}
return flag;
}

如何进一步改进。

最佳答案

尝试如下添加 break 语句:-

        if(seq[i] != seq[j])    {
flag = false;
break;
}

关于java - 如何检查一个词是否好听(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50057081/

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