Search

Count Sorted Vowel Strings

Given an integer n, return the number of strings of length n that consist only of vowels (a, e, i, o, u) and are lexicographically sorted.


A string s is lexicographically sorted if for all valid i, s[i] is the same as or comes before s[i+1] in the alphabet.



Example 1:


Input: n = 1 
Output: 5 
Explanation: The 5 sorted strings that consist of vowels only are ["a","e","i","o","u"].

Example 2:


Input: n = 2 
Output: 15 
Explanation: The 15 sorted strings that consist of vowels only are ["aa","ae","ai","ao","au","ee","ei","eo","eu","ii","io","iu","oo","ou","uu"]. Note that "ea" is not a valid string since 'e' comes after 'a' in the alphabet. 

Example 3:

Input: n = 33 Output: 66045 

Constraints:

  • 1 <= n <= 50


Solution:


class Solution {
    public int countVowelStrings(int n) {
        int a=1,e=1,i=1,o=1,u=1;
        while(--n>0)
        {
            u=u;
            o+=u;
            i+=o;
            e+=i;
            a+=e;
        }
        
        return a+e+i+o+u;
    }
}

46 views0 comments

Recent Posts

See All

A string s is called good if there are no two different characters in s that have the same frequency. Given a string s, return the minimum number of characters you need to delete to make s good. The f

The numeric value of a lowercase character is defined as its position (1-indexed) in the alphabet, so the numeric value of a is 1, the numeric value of b is 2, the numeric value of c is 3, and so on.