题目:
给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。
字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。
解答:
class Solution:
def countVowelStrings(self, n: int) -> int:
#dp[0]:表示以a打头的长度为n且满足要求的字符串个数。
#dp[1]:表示以b打头的长度为n且满足要求的字符串个数。
#dp[2]:....
dp=[1]*5
if n==1:
return sum(dp)
for _ in range(1,n):
for i in range(3,-1,-1):
dp[i]+=dp[i+1]
return sum(dp)