LC 10. Regular Expression Matching question# JobHunting - 待字闺中
y*d
1 楼
1, If p.charAt(j) == s.charAt(i) : dp[i][j] = dp[i-1][j-1];
2, If p.charAt(j) == '.' : dp[i][j] = dp[i-1][j-1];
3, If p.charAt(j) == '*':
here are two sub conditions:
1 if p.charAt(j-1) != s.charAt(i) : dp[i][j] = dp[i][j-2]
//in this case, a* only counts as empty
2 if p.charAt(j-1) == s.charAt(i) or p.charAt(j-1) == '.':
dp[i][j] = dp[i-1][j] //in this case, a*
counts as multiple a
or dp[i][j] = dp[i][j-1] // in this case, a*
counts as single a
or dp[i][j] = dp[i][j-2] // in this case, a*
counts as empty
Dont understand why the following: any examples? thanks.
dp[i][j] = dp[i-1][j] //in this case, a*
counts as multiple a
2, If p.charAt(j) == '.' : dp[i][j] = dp[i-1][j-1];
3, If p.charAt(j) == '*':
here are two sub conditions:
1 if p.charAt(j-1) != s.charAt(i) : dp[i][j] = dp[i][j-2]
//in this case, a* only counts as empty
2 if p.charAt(j-1) == s.charAt(i) or p.charAt(j-1) == '.':
dp[i][j] = dp[i-1][j] //in this case, a*
counts as multiple a
or dp[i][j] = dp[i][j-1] // in this case, a*
counts as single a
or dp[i][j] = dp[i][j-2] // in this case, a*
counts as empty
Dont understand why the following: any examples? thanks.
dp[i][j] = dp[i-1][j] //in this case, a*
counts as multiple a