1220-count-vowels-permutation¶
Try it on leetcode
Description¶
Solution(Python)¶
class Solution:
# n = 1
# a ,e,i,o,u
# n = 2
# ae, ea, ei, ia,ie,io,iu,oi,ou and ua
# dp[1][j] = 1
# dp[i][0] = dp[i-1][1] + 1
# dp[i][1] = max(dp[i-1][0],dp[i-1][2]) + 1
# dp[i][2] = max(dp[i-1][0..1],dp[i-1][3..4])
# dp[i][3] = max(dp[i-1][2], dp[i-1][4]) + 1
# dp[i][4] = dp[i-1][1]+1
def countVowelPermutation(self, n: int) -> int:
dp = [[0]*5 for _ in range(n)]
dp[0] = [1 for _ in range(5)]
for i in range(1,n):
dp[i][0] = dp[i-1][1]
dp[i][1] = dp[i-1][0] + dp[i-1][2]
dp[i][2] = dp[i-1][0] + dp[i-1][1] + dp[i-1][3] + dp[i-1][4]
dp[i][3] = dp[i-1][2] + dp[i-1][4]
dp[i][4] = dp[i-1][0]
return sum(dp[-1]) % ((10**9)+7)