1220. 统计元音字母序列的数目

exiaohu 于 2022-01-17 发布

题目链接:1220. 统计元音字母序列的数目

动态规划。

长度为 n 的字符串的数量是长度为 n-1 的字符串,在前面添加一个字符前缀形成的。

class Solution:
    CONVERT_MAP = {
        'a': ['e'],
        'e': ['a', 'i'],
        'i': ['a', 'e', 'o', 'u'],
        'o': ['i', 'u'],
        'u': ['a']
    }
    MOD = 10 ** 9 + 7

    def countVowelPermutation(self, n: int) -> int:
        ans = {'a': 1, 'e': 1, 'i': 1, 'o': 1, 'u': 1}

        for i in range(n - 1):
            ans = {key: sum(ans[key2] for key2 in self.CONVERT_MAP[key]) % self.MOD for key in ans}

        return sum(ans.values()) % self.MOD