Advertisement
MuzammiL5

Largest Palindrome

Jun 29th, 2021
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.78 KB | None | 0 0
  1. class Solution {
  2. public:
  3. string longestPalin (string S) {
  4. int min_i=0, max_j=0, N = S.length();
  5. for (int i=0; i<N; i++) {
  6. int p1 = i, p2 = i+1;
  7. while (p1>=0 && p2<N && S[p1]==S[p2]) {
  8. if (p2-p1 > max_j-min_i){
  9. max_j = p2;
  10. min_i = p1;
  11. }
  12. p1--;
  13. p2++;
  14. }
  15. }
  16. for (int i=1; i<N-1; i++) {
  17. int j=1;
  18. while(i-j>=0 && i+j<N && S[i+j]==S[i-j]) {
  19. if ( (i+j)-(i-j) > (max_j-min_i) ) {
  20. max_j = i+j;
  21. min_i = i-j;
  22. }
  23. j++;
  24. }
  25. }
  26. return S.substr(min_i, max_j-min_i+1);
  27. }
  28. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement