尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
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);}
返回列表