【发布时间】:2019-02-12 04:37:59
【问题描述】:
我正在解决一个黑客等级问题 https://www.hackerrank.com/challenges/special-palindrome-again/problem
我无法通过测试用例我的逻辑还是正确的
我能够找到回文,但我的代码找到了另一个未在解释中列出的回文,这会导致测试用例失败
List lstr=new ArrayList<>();
for(int i=0;i<s.length();i++)
{
for(int j=i+1;j<=s.length();j++)
{
String str=new StringBuilder(s.substring(i,
j)).reverse().toString();
if(s.substring(i, j).equals(str) && s.substring(i, j).length()>1 )
{
lstr.add(str);
}
}
return lstr.size()+s.length();
输入
5 asasd
特殊回文字符串 {a,s,a,s,d,asa,sas}
输入
7 阿布巴巴
特殊回文字符串 {a,b,c,b,a,b,a,bcb,bab,aba} 但在上面 例如,我的程序将 abcba 查找为回文,这也导致 测试用例失败
【问题讨论】:
-
问题的前几行之一指出:“除中间字符外,所有字符都相同,例如 aadaa。”
-
abcba不符合条件All characters except the middle one are the same