1. 程式人生 > 其它 >Spring學習總結(四)——表示式語言 Spring Expression Language

Spring學習總結(四)——表示式語言 Spring Expression Language

注意這題求的是子串不是子序列

class Solution {
public:
    string longestPalindrome(string s) {
        if(s.size()<2)
        return s;
        int len = s.length();
        int maxlen = 1;
        int start = 0;
        vector<vector<int>> dp(len, vector<int>(len,0));
        for(int i = 0; i < len; i++)
            dp[i][i] 
= 1; for(int L = 2; L <=len; L++) // L是子串長度 for(int i = 0; i < len; i++){ // i字串開始位置 int j = L + i -1; // 右邊界 if(j>=len) // 右邊界超出範圍 break; if(s[i]!=s[j]) // 不等於說明不是迴文子串 dp[i][j] = 0;
else{ if(j-i<3) // 小於3說明中間只有一個元素或者沒有元素 dp[i][j] = 1; else // 如果中間有多個元素,則判斷dp[i+1][j-1] dp[i][j] = dp[i+1][j-1]; } if(dp[i][j]==1&&L > maxlen){ // 更新 maxlen = L; start
= i; } } return s.substr(start, maxlen); } };