Special String Again

  • + 4 comments

    One more Java solution :)

    static long substrCount(int n, String s) {
        long count = 0;
        for (int i = 0; i < s.length(); i++) {
            int innerCounter = 1;
    
            int counterDown = 0;
            int counterUp = 1;
            while (i - innerCounter >= 0 && i + innerCounter < s.length()
                    && s.charAt(i - innerCounter) == s.charAt(i - 1) && s.charAt(i + innerCounter) == s.charAt(i - 1)) {
                count++;
                innerCounter++;
            }
    
            while (i - counterDown >= 0 && i + counterUp < s.length() && s.charAt(i - counterDown) == s.charAt(i)
                    && s.charAt(i + counterUp) == s.charAt(i)) {
                count++;
                counterDown++;
                counterUp++;
            }
        }
    
        return count + s.length();
    }