Why Memory Limit exceeded ???


  • 0
    B

    Does anyone have any idea why I get Memory Limit Exceeded with this code? I do not see a problem with it, and it is very similar with the solution I found on geeksforgeeks.

    class Solution {
    public:
        int longestPalindromeSubseq(string s) {
            vector<vector<int> >pd(s.length(), vector<int>(s.length(),-1));
            return solve(s, 0, s.length()-1,pd);
        }
        int solve(string s, int i, int j, vector<vector<int> >&pd) {
            if(i == j)
                return 1;
            if(i+1 == j){
                if(s[i] == s[j])
                    return 2;
                else return 1;
            }
            if(pd[i][j] != -1) {
                return pd[i][j];
            }
                
            if(s[i] == s[j]) {
                pd[i][j] = 2+solve(s,i+1,j-1,pd);
     
            } else {
               pd[i][j] = max(solve(s,i+1,j,pd),solve(s,i,j-1,pd)); 
            }
            return pd[i][j];
        }
    };
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.