Problem: 1422. 分割字符串的最大得分
思路
设立两个指针,一个负责检测左字符串中的0个数,一个负责检测右字符串1的个数,因为从左至右,所以左字符串0的个数无需重复数,只需累加
解题方法
- 要注意左字符串和右字符串长度都不可小于1
- 每次循环检测s[i]是否为0,然后1的个数要清零,重新累加,防止重复计算
- 注意是字符串,判断需要加’'而不是""
- 最后判断最大值,将大的赋值给z
Code
class Solution {
public:
int maxScore(string s) {
int x=0,z=0;
for(int i = 0;i<s.size()-1;i++){
if(s[i]=='0'){
x++;
}
int y = 0;
for(int j =i;j<s.size();j++){
if(s[j+1]=='1'){
y++;
}
}
z=max(z,x+y);
}
return z;
}
};