騰訊2016實習生筆試

求有刪除狀況的最長迴文子串spa

 

  

 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 }
相關文章
相關標籤/搜索