腾讯2016实习生笔试

求有删除情况的最长回文子串

  

 1 int Longest(string s)
 2 {
 3    int n = s.size(); 
 4     vector<vector<int> > longsub(n+1,  vector<int>(n+1)) ;
 5     int res = 0 ;
 6     string str = s;
 7     reverse(s.begin(), s.end());
 8 
 9     for(int i=1; i<n+1; i++)
10            for(int j=1; j<n+1; j++)
11                if(s[i-1] == str[j-1])
12                    longsub[i][j] = longsub[i-1][j-1] +1;
13                else 
14                    longsub[i][j] = max(longsub[i][j-1], longsub[i-1][j]);
15 
16     return longsub[n][n];
17 }
原文地址:https://www.cnblogs.com/daocaorenblog/p/5541443.html