【动态规划】leetcode-1641.统计字典序元音字符串的数目

题目:
给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。

字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。
【动态规划】leetcode-1641.统计字典序元音字符串的数目_第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)
                

你可能感兴趣的:(leetcode,Python)