暴力
class Solution {
public int maxScore(String s) {
int res = 0;
for (int i = 1; i < s.length(); i++){
int count = calculation(s.substring(0, i), '0') + calculation(s.substring(i), '1');
res = Math.max(res, count);
}
return res;
}
private int calculation(String s, char c){
int res = 0;
for (int i = 0; i < s.length(); i++){
if (s.charAt(i) == c){
res++;
}
}
return res;
}
}
两次遍历
/**
*
* 两次遍历
* @param s
* @return
*/
public int maxScore2(String s) {
int score = 0, n = s.length();
if (s.charAt(0) == '0'){
score++;
}
for (int i = 1; i < n; i++){
if (s.charAt(i) == '1'){
score++;
}
}
int ans = score;
for (int i = 1; i < n - 1; i++){
if (s.charAt(i) == '0'){
ans++;
} else {
ans--;
}
score = Math.max(ans, score);
}
return score;
}