LPS
user_8384735
c_cpp
2 years ago
528 B
7
Indexable
string longestPalindrome(string s) { int dp[1005][1005] = {0}; int len = 1, n = s.size(), start = 0; for (int i = 0; i < n; i++){ dp[i][i] = 1; for (int j = 0; j < i; j++){ dp[j][i] = (s[i] == s[j] && (i-j < 2 || dp[j+1][i-1])); if (dp[j][i] && len < i-j+1){ len = i - j + 1, start = j; } } } //cout << len << " " << start; return s.substr(start, len); }
Editor is loading...