What is the problem in this code? Please debug the code
Anonymous User
78

Problem link: https://www.codingninjas.com/codestudio/problems/wildcard-pattern-matching_701650

My code:
bool wildcardMatching(string pattern, string text)
{
int m= pattern.length();
int n= text.length();
bool dp[n][m]={0};
if(pattern[0]=='?'|| pattern[0]==text[0]||pattern[0]=='*'){
dp[0][0]=1;
}else dp[0][0]=0;
for(int i=1;i<m;i++){

    if(pattern[i]=='*'&&dp[0][i-1]){
        dp[0][i]=1;
    }
    
    
}
 for(int i=1;i<n;i++){
   if(pattern[0]=='*'){
        dp[i][0]=1;
    }else dp[i][0]=0;
    
}
for(int i=1;i<n;i++){
    for(int j=1;j<m;j++){
        if((text[i]==pattern[j]&&dp[i-1][j-1])|| (pattern[j]=='?'&&dp[i-1][j-1])){
            dp[i][j]=1;
        }
        else if(pattern[j]=='*'&&(dp[i][j-1]||dp[i-1][j-1]||dp[i-1][j])){
            dp[i][j]=1;
        }else dp[i][j]=0;
    }
    
    
}
return dp[n-1][m-1];

}

Comments (0)