Tehtäväsi on laskea, monessako merkkijonon osajonossa jokainen merkki on sama. Esimerkiksi merkkijonossa abbbcaa tällaiset osajonot ovat
a(kolmesti)aab(kolmesti)bb(kahdesti)bbbc
eli yhteensä 11 osajonoa.
Voit olettaa, että merkkijono muodostuu merkeistä a–z ja siinä on enintään 10^5 merkkiä. Tavoitteena on, että algoritmin aikavaativuus on O(n).
Python
Toteuta tiedostoon onechar.py funktio count, joka palauttaa halutun tuloksen.
def count(s):
    # TODO
if __name__ == "__main__":
    print(count("aaa")) # 6
    print(count("abbbcaa")) # 11
    print(count("abcde")) # 5
Java
Toteuta tiedostoon OneChar.java metodi count, joka palauttaa halutun tuloksen.
public class OneChar {
    public long count(String s) {
        // TODO
    }
    public static void main(String[] args) {
        OneChar o = new OneChar();
        System.out.println(o.count("aaa")); // 6
        System.out.println(o.count("abbbcaa")); // 11
        System.out.println(o.count("abcde")); // 5
    }
}
