ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

LeetCode //C - 1220. Count Vowels Permutation

2026/8/30 20:18:06 拓冰建站 浏览量
LeetCode //C - 1220. Count Vowels Permutation 1220. Count Vowels PermutationGiven an integer n, your task is to count how many strings of length n can be formed under the following rules:Each character is a lower case vowel (‘a’, ‘e’, ‘i’, ‘o’, ‘u’)Each vowel ‘a’ may only be followed by an ‘e’.Each vowel ‘e’ may only be followed by an ‘a’ or an ‘i’.Each vowel ‘i’ may not be followed by another ‘i’.Each vowel ‘o’ may only be followed by an ‘i’ or a ‘u’.Each vowel ‘u’ may only be followed by an ‘a’.Since the answer may be too large, return it modulo 10^9 7.Example 1:Input:n 1Output:5Explanation:All possible strings are: “a”, “e”, “i” , “o” and “u”.Example 2:Input:n 2Output:10Explanation:All possible strings are: “ae”, “ea”, “ei”, “ia”, “ie”, “io”, “iu”, “oi”, “ou” and “ua”.Example 3:Input:n 5Output:68Constraints:1 n 2 * 10^4From: LeetCodeLink: 1220. Count Vowels PermutationSolution:Ideas:keep counts of strings ending with each vowel, then update by reverse rules.Code:intcountVowelPermutation(intn){constlongMOD1000000007;longa1,e1,i1,o1,u1;for(intlen2;lenn;len){longna(eiu)%MOD;// previous e/i/u can go to alongne(ai)%MOD;// previous a/i can go to elongni(eo)%MOD;// previous e/o can go to ilongnoi%MOD;// previous i can go to olongnu(io)%MOD;// previous i/o can go to uana;ene;ini;ono;unu;}return(int)((aeiou)%MOD);}