思路
当n=1时:返回值为5=1+1+1+1+1;
当n=2时,返回值为15=5+4+3+2+1;
当n=3时,返回值为35=15+10+6+3+1;
当n=4时,返回值为70=35+20+10+4+1;
即:
a = a + e + i + o + u
e = e + i + o +u
i = i + o + u
o = o + u
u = u
代码
function countVowelStrings($n) {
// 初始化dp数组
$dp = array_fill(0, 5, 1);
while (--$n) {
$dp[4] += $dp[3] + $dp[2] + $dp[1] + $dp[0];
$dp[3] += $dp[2] + $dp[1] + $dp[0];
$dp[2] += $dp[1] + $dp[0];
$dp[1] += $dp[0];
}
return array_sum($dp);
}