Light OJ — Making Huge Palindromes

Правка en2, от LegendaryNewbie_, 2020-04-17 11:22:17

VERDICT: Wrong Answer....the problem is about to find the length of the smallest palindrome that can be formed by adding some additional character at it end(possibly zero). i used prefix function of original given string comparing with its reverse to find out the largest suffix in the original string that is a prefix of its reverse that means palindromes.For several test case i found it working but verdict is "Wrong Answwer".Can anyone help me with test case or tell me reason why it may not work in this case.

int prefix_function(string original, string rev) { string text = rev + '#' + original;

int n = text.size();
int m = original.size();

vector<int>lps(n);

for (int i = m + 1, j = 0; i < n; )
{
    if (text[i] == text[j])
    {
       lps[i] = j + 1;
       j++;
       i++;
    }
    else
    {
       if (j != 0) j = lps[j - 1];
       else lps[i] = 0, i++;
    }
}
return lps[n - 1];

}

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en3 Английский LegendaryNewbie_ 2020-04-17 11:43:58 20
en2 Английский LegendaryNewbie_ 2020-04-17 11:22:17 10 Tiny change: 'is case.\nint pref' -> 'is case.\n\n\n\n\nint pref'
en1 Английский LegendaryNewbie_ 2020-04-17 11:21:02 938 Initial revision (published)