Динамическое программирование / среда
Для заданного целого числа n вернуть количество строк длины n, состоящих только из гласных (a, e, i, o, u) и отсортированных лексикографически.
Строка s лексикографически отсортирована, если для всех допустимых значений i значение s[i] равно или предшествует s[i+1] в алфавите.
Пример 1
Input: n = 1 Output: 5 Explanation: The 5 sorted strings that consist of vowels only are ["a","e","i","o","u"].
Пример 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.
Решение
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; };