其他分享
首页 > 其他分享> > 1220. Count Vowels Permutation

1220. Count Vowels Permutation

作者:互联网

Given an integer n, your task is to count how many strings of length n can be formed under the following rules:

Since the answer may be too large, return it modulo 10^9 + 7.

 

Example 1:

Input: n = 1
Output: 5
Explanation: All possible strings are: "a", "e", "i" , "o" and "u".

Example 2:

Input: n = 2
Output: 10
Explanation: All possible strings are: "ae", "ea", "ei", "ia", "ie", "io", "iu", "oi", "ou" and "ua".

Example 3: 

Input: n = 5
Output: 68

 

Constraints:

class Solution {
    public int countVowelPermutation(int n) {
        long acount = 1, ecount = 1, icount = 1, ocount = 1, ucount = 1;
        int mod = 1000000007;
        for(int i = 1; i < n; i++) {
            long newac = (ecount + icount + ucount) % mod;
            long newec = (acount + icount) % mod;
            long newic = (ecount + ocount) % mod;
            long newoc = (icount) % mod;
            long newuc = (icount + ocount) % mod;
            
            acount = newac;
            ecount = newec;
            icount = newic;
            ocount = newoc;
            ucount = newuc;
        }
        return (int) ((acount + ecount + icount + ocount + ucount) % mod);
    }
}

hard??

 

 dp, 对应的是以这个字母为结束的这么多位数的个数

标签:Count,may,Permutation,Vowels,long,vowel,Each,icount,mod
来源: https://www.cnblogs.com/wentiliangkaihua/p/14970757.html