面試題 最長回文子串

2021-06-10 02:08:29 字數 789 閱讀 6466

在網上找了幾個版本,改編的,好難啊。加油。

//最大回文子串問題

#include#includeusing namespace std;

//返回最長的回文子串

char *max_substring_bxy(char *str,int &length)

} for(int i = 0; i < m; ++i) //不預先判斷奇偶,先奇後偶,max自動更新

}for(int j = 0; i - j >= 0 && i + j < m; ++j) //最長回文字串為偶數

}} }

char *s = new char[100];

int c = 0;

for(int i=x; i<=y; i++)

length = (y-x+1);

s[c]='\0';

return s;

}//返回最長回文子串的長度

int lengthofmaxsubstring(char *str)

} for(int i = 0; i < m; ++i)

} if(ok && j - i + 1 > max)

}} }

return max;

}int main()

{ char a = "abcbawwwwa";

int num=0;

char *str = max_substring_bxy(a,num);

int len = lengthofmaxsubstring(a);

cout <<"源字串:"<

面試題 最長回文子串

這個也算是很經典的題目了,o n 的解法還是要自己鑽進去想一想的,不能總以為自己會了,動手寫一寫才是王道。題大家應該都知道,我就直接用ppt裡面的了。例如ababcdedcbaab,最長回文子串是abcdedcba。暴力解法1 列舉起點o n 列舉終點o n 判斷回文o n 總複雜度o n 3 暴力...

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...

筆試面試題(8) 回文子串

1 驗證整個字串是不是回文 最簡單的了 直接驗證或遞迴驗證都可以.2 求連續的回文子串,如 abdadbx,則回文子串就是bdadb 整個有乙個最優的演算法為 中心法求最長回文子串 線性複雜度 具體的部落格 寫的真好!include includeconst int m 110010 2 char ...