@@ -0,0 +1,1446 @@
+public class Solution %7B%0A    public ArrayList%3CInteger%3E flip(String A) %7B%0A        %0A        List%3CInteger%3E Ai = new ArrayList%3C%3E();%0A        %0A        boolean hasZeros = false;%0A        %0A        for (int i = 0; i %3C A.length(); ++i)%0A        %7B%0A            if (A.charAt(i) == '0')%0A            %7B%0A                Ai.add(1);%0A                %0A                hasZeros = true;%0A            %7D%0A            else if (A.charAt(i) == '1')%0A            %7B%0A                Ai.add(-1);%0A            %7D%0A        %7D%0A        %0A        if (!hasZeros)%0A        %7B%0A            return new ArrayList%3CInteger%3E();%0A        %7D%0A        %0A        int maxEndingHere = 0;%0A        int maxSumSoFar = 0;%0A        %0A        int Lpending = 0;%0A        int Rpending = 0;%0A%0A        int Lmax = 0;%0A        int Rmax = 0;%0A        %0A        for (int i = 0; i %3C Ai.size(); ++i)%0A        %7B%0A            if (maxEndingHere + Ai.get(i) %3C 0)%0A            %7B%0A                maxEndingHere = 0;%0A                Lpending = i + 1;%0A            %7D%0A            else%0A            %7B%0A                maxEndingHere += Ai.get(i);%0A            %7D%0A            %0A            if (maxEndingHere %3E maxSumSoFar)%0A            %7B%0A                maxSumSoFar = maxEndingHere;%0A                %0A                Lmax = Lpending;%0A                Rmax = i;%0A            %7D%0A        %7D%0A        %0A        ArrayList%3CInteger%3E retVal = new ArrayList%3CInteger%3E();%0A        %0A        retVal.add(Lmax + 1);%0A        retVal.add(Rmax + 1);%0A        %0A        return retVal;%0A    %7D%0A%7D%0A

Create Arrays_Flip.java