2026-06-01 18:12:40 +08:00
|
|
|
#+ANKI_DECK: study_deck_02
|
2026-06-01 17:12:10 +08:00
|
|
|
* TODO 1220. Count Vowels Permutation :hard:
|
2026-06-01 02:33:30 +08:00
|
|
|
:PROPERTIES:
|
2026-06-01 17:22:07 +08:00
|
|
|
:NEETCODE: [[file:../../roadmap.org::*1220. Count Vowels Permutation][1220. Count Vowels Permutation]]
|
2026-06-01 02:33:30 +08:00
|
|
|
:END:
|
|
|
|
|
|
2026-06-01 17:22:07 +08:00
|
|
|
Given 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:*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: n = 1
|
|
|
|
|
Output: 5
|
|
|
|
|
Explanation: All possible strings are: "a", "e", "i" , "o" and "u".
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Example 2:*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: n = 2
|
|
|
|
|
Output: 10
|
|
|
|
|
Explanation: All possible strings are: "ae", "ea", "ei", "ia", "ie", "io", "iu", "oi", "ou" and "ua".
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Example 3: *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#+begin_src
|
|
|
|
|
Input: n = 5
|
|
|
|
|
Output: 68
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Constraints:*
|
|
|
|
|
|
|
|
|
|
- ~1 <= n <= 2 * 10^4~
|
|
|
|
|
|
2026-06-01 02:39:53 +08:00
|
|
|
** TODO Approach
|
|
|
|
|
Write your approach here.
|
|
|
|
|
|
|
|
|
|
** TODO Python
|
2026-06-05 22:32:49 +08:00
|
|
|
#+begin_src python :lc-problem 1220 :lc-lang python3
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution:
|
|
|
|
|
def countVowelPermutation(self, n: int) -> int:
|
2026-06-01 02:39:53 +08:00
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** TODO C++
|
2026-06-05 22:32:49 +08:00
|
|
|
#+begin_src cpp :lc-problem 1220
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution {
|
|
|
|
|
public:
|
|
|
|
|
int countVowelPermutation(int n) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
2026-06-01 02:33:30 +08:00
|
|
|
#+end_src
|