题解 | #01串修改#
01串修改
http://www.nowcoder.com/questionTerminal/d870f468b9524155aabf6a812a03ace2
class Solution {
public:
int minOperations(string str) {
int count, res = 501;
double len;
// 这个循环很有意思,不仅是循环两次,更是用到了每次循环的字符
for (char ch = '0'; ch <= '1'; ch++) {
count = 0, len = 0.0;
for (char cha : str) {
if (cha == ch) len++;
else {
if (len != 0) {
// 这里如果是int/2会出现结果为0的情况
count += ceil(len / 2.0);
len = 0;
}
}
}
if (len != 0) count += ceil(len / 2.0);// 处理结尾剩下的部分
res = min(res, count);
}
return res;
}
};

SHEIN希音公司福利 283人发布
