public long numberOfWays(String s) {
char[] array = s.toCharArray();
int n = array.length;
long[][][] dp = new long[2][4][2];
for (int i = 0; i < 2; i++) {
dp[i][0][1] = 1;
dp[i][0][0] = 1;
}
int base = 0;
dp[base][1][array[0] - '0'] = 1;
for (int i = 1; i < n; i++) {
base ^= 1;
for (int j = 1; j < 4; j++) {
dp[base][j][0] = dp[base ^ 1][j][0];
dp[base][j][1] = dp[base ^ 1][j][1];
dp[base][j][array[i] - '0'] += dp[base ^ 1][j - 1][(array[i] - '0') ^ 1];
}
}
return dp[base][3][0] + dp[base][3][1];
}
lc-2222
原创wx5be5864e766ab ©著作权
©著作权归作者所有:来自51CTO博客作者wx5be5864e766ab的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
hdu 2222 Keywords Search
AC自动机
#include #define ios -
【HDU 2222】Keywords Search
1.题目链接。题目大意:给定多个单词,一段文本,找出
i++ #include 模式匹配 -
Keywords Search(hdu 2222)
题意:给出n个单词,一篇文章,询问有几个单词在文章中出现过。
i++ #include #define ios ac自动机