尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

LeetCode //C - 1220. Count Vowels Permutation

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);}
返回列表