LeetCode: 1641. Count Sorted Vowel Strings

Poby’s Home
1 min readJan 25, 2021

--

Dynamic Programming / Medium

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.

Solution

function countVowelStrings(n: number): number {
if (n===1) return 5;
let values: number[] = [1,1,1,1,1];
for (let k=2; k<=n; k++) {
for (let i=1; i<5; i++) {
values[i] += values[i-1]
}
}

let ret = 0;
for (let e of values) {
ret += e;
}

return ret;
};

--

--

No responses yet