1220.母音アルファベットシーケンスの数を統計するJavaScript

3524 ワード

1220.母音アルファベットシーケンスの数を統計する


整数nをあげます.次のルールで長さnの文字列をいくつ形成できるかを統計してください.
文字列の各文字は小文字の母音文字**であるべきである(‘a’,‘e’,‘i’,‘o’,‘u’)**各母音「a」の後ろには、「e」の各母音「e」の後ろには、「a」または「i」の各母音「i」の後ろには、もう一つの「i」の各母音「o」の後ろには、「i」または「u」の各母音「u」の後ろには、「a」の後ろにしか付いていません.答えが大きい可能性がありますので、型10^9+7の後の結果に戻ってください.
ソース:https://leetcode-cn.com/problems/count-vowels-permutation/
问题解:eを例にとると、eの头の文字列はeの后ろにaあるいはeの头の文字列をつないで、个数はaの头の个数+iの头の个数に等しくて、テーマは坑死人を描写して、実はiの后ろでiに続くことができません;
/**
 * @param {number} n
 * @return {number}
 */
var countVowelPermutation = function (n) {
    /* dp  a          a               */
    let a = e = i = o = u = 1;
    let mod = 1e9 + 7;
    while (--n) {
        [a, e, i, o, u] = [
            e % mod,
            (a + i) % mod,
            (a + e + o + u) % mod,
            (i + u) % mod,
            a % mod
        ];
    }
    return (a + e + i + o + u) % mod;
};