题目描述:
方法:倒推
class Solution(object): def countVowelPermutation(self, n): MOD = 10 ** 9 + 7 a=e=i=o=u= 1 for ZZZ in xrange(n-1): a2,e2,i2,o2,u2 = e+i+u,a+i,e+o,i,i+o a=a2 e=e2 i=i2 o=o2 u=u2 a %= MOD e %= MOD i %= MOD o %= MOD u %= MOD return (a+e+i+o+u) % MOD
优化:
class Solution: def countVowelPermutation(self, n: int) -> int: a, e, i, o, u = 1, 1, 1, 1, 1 MAX = 10 ** 9 + 7 for k in range(1, n): a, e, i, o, u = (e + i + u) % MAX, (a + i) % MAX, (e + o) % MAX, i, (i + o) % MAX return (a + e + i + o + u) % MAX
leetcode-157周赛-5216-统计元音字母序列的数目
原文:https://www.cnblogs.com/oldby/p/11629775.html