ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

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