问题
题目:[交错01串]
思路
这个题我做的时候,很自然的就想到dp的思路。也没什么方法论指导我,感觉和之前做的最长连续子串类似。用了类似的方法。
代码
#include <iostream>
#include <vector>
int main( void ){
std::string s;
while( std::cin >> s ){
int sz = s.size();
std::vector<int> dp(sz, 0);
dp[0] = 1;
int max = 1;
for(int i = 1; i < sz; ++i){
if( s[i-1] != s[i] ) dp[i] = dp[i-1] + 1;
else dp[i] = 1;
if( dp[i] > max ) max = dp[i];
}
std::cout << max << std::endl;
}
return 0;
}