Redian新闻
>
LC 10. Regular Expression Matching question
avatar
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
avatar
s*n
2
i表示的是在s里的字符位置,j表示在pattern里的字符位置
dp[i][j] = dp[i-1][j]的意思是,pattern匹配到j不变的情况下,s里多向前移动一个
字符。任何s有重复字符与p匹配的情况都是例子。
s = "aaaa"
p = "a*"
dp[4][2] = dp[3][2] = dp[2][2] = dp[1][2]
avatar
y*d
3
谢谢

【在 s******n 的大作中提到】
: i表示的是在s里的字符位置,j表示在pattern里的字符位置
: dp[i][j] = dp[i-1][j]的意思是,pattern匹配到j不变的情况下,s里多向前移动一个
: 字符。任何s有重复字符与p匹配的情况都是例子。
: s = "aaaa"
: p = "a*"
: dp[4][2] = dp[3][2] = dp[2][2] = dp[1][2]

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。