Annettuna on merkkijono, jonka jokainen merkki on A, B tai C. Tehtäväsi on laskea, moniko osajono sisältää yhtä monta A:ta, B:tä ja C:tä.
Esimerkiksi kun merkkijono on CBACBA, vastaus on 5, koska halutut osajonot ovat CBA (kahdesti), BAC, ACB ja CBACBA.
Voit olettaa, että merkkijonon pituus on enintään 10^5.
Python
Toteuta tiedostoon balance.py funktio count, joka antaa osajonojen määrän.
def count(s):
# TODO
if __name__ == "__main__":
print(count("CCAABB")) # 1
print(count("CBACBA")) # 5
print(count("AAABBC")) # 0
Java
Toteuta tiedostoon Balance.java metodi count, joka antaa osajonojen määrän.
public class Balance {
public long count(String s) {
// TODO
}
public static void main(String[] args) {
Balance b = new Balance();
System.out.println(b.count("CCAABB")); // 1
System.out.println(b.count("CBACBA")); // 5
System.out.println(b.count("AAABBC")); // 0
}
}
