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;
};