java.lang.Object
g1901_2000.s1915_number_of_wonderful_substrings.Solution

public class Solution extends java.lang.Object
1915 - Number of Wonderful Substrings.

Medium

A wonderful string is a string where at most one letter appears an odd number of times.

  • For example, "ccjjc" and "abab" are wonderful, but "ab" is not.

Given a string word that consists of the first ten lowercase English letters ('a' through 'j'), return the number of wonderful non-empty substrings in word. If the same substring appears multiple times in word, then count each occurrence separately.

A substring is a contiguous sequence of characters in a string.

Example 1:

Input: word = “aba”

Output: 4

Explanation: The four wonderful substrings are underlined below:

  • aba” -> “a”

  • “aba” -> “b”

  • “aba” -> “a”

  • aba” -> “aba”

Example 2:

Input: word = “aabb”

Output: 9

Explanation: The nine wonderful substrings are underlined below:

  • aabb” -> “a”

  • aabb” -> “aa”

  • aabb” -> “aab”

  • aabb” -> “aabb”

  • “aabb” -> “a”

  • “aabb” -> “abb”

  • “aabb” -> “b”

  • “aabb” -> “bb”

  • “aabb” -> “b”

Example 3:

Input: word = “he”

Output: 2

Explanation: The two wonderful substrings are underlined below:

  • he” -> “h”

  • “he” -> “e”

Constraints:

  • 1 <= word.length <= 105
  • word consists of lowercase English letters from 'a' to 'j'.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    wonderfulSubstrings(java.lang.String word)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • wonderfulSubstrings

      public long wonderfulSubstrings(java.lang.String word)