给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。
字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。
示例 1:
输入:n = 1
输出:5
解释:仅由元音组成的 5 个字典序字符串为 [“a”,“e”,“i”,“o”,“u”]
来源:力扣(LeetCode)
/**
* @param {number} n
* @return {number}
*/
//法一:回溯
var countVowelStrings = function(n) {
var arr = ["a","e","i","o","u"]
var res = []
function dfs(arr1,j){
if(arr1.length==n){
res.push([...arr1])
return
}
for(let i =0 ;i<arr.length;i++){
if(j>i){
continue
}else{
arr1.push(arr[i])
dfs(arr1,i)
arr1.pop()
}
}
}
dfs([])
return res.length
};
//法二:
return (n+4)*(n+3)*(n+2)*(n+1)/24;