给定一个字符串S仅包含0、1。请问最少删掉多少个0可以使得S成为好的字符串。好的字符串指所有1连在一起的字符串如 0 1 00111 和01111100是好的。0101 100001和 11111111111101则不是好的字符串。输入格式一行一个字符串保证字符串仅包含0、1。输出格式一行包含一个整数表示最少删除0的个数。C++
#include
using namespace std;
int minDeletions(string s) { int count = 0; int maxCount = 0;
for(int i = 0; i < s.length(); i++) {
if(s[i] == '1') {
count++;
maxCount = max(maxCount, count);
} else {
count = 0;
}
}
return s.length() - maxCount;
}
int main() { string s; cin >> s;
int result = minDeletions(s);
cout << result << endl;
return 0;
}
原文地址: http://www.cveoy.top/t/topic/isui 著作权归作者所有。请勿转载和采集!