class Solution { public int maxScore(String s) { // count the ones int ones = 0; for (int i = 1; i < s.length(); ++i) { if (s.charAt(i) == '1') { ++ones; } } int zeros = s.charAt(0) == '0' ? 1 : 0; int foundScore = ones + zeros; for (int i = 1; i < s.length() - 1; ++i) { switch (s.charAt(i)) { case '0': ++zeros; break; case '1': --ones; break; } foundScore = Math.max(foundScore, ones + zeros); } return foundScore; } }