給你乙個整數 n,請你幫忙統計一下我們可以按下述規則形成多少個長度為 n 的字串:
字串中的每個字元都應當是小寫母音字母(『a』, 『e』, 『i』, 『o』, 『u』)
每個母音 『a』 後面都只能跟著 『e』
每個母音 『e』 後面只能跟著 『a』 或者是 『i』
每個母音 『i』 後面 不能 再跟著另乙個 『i』
每個母音 『o』 後面只能跟著 『i』 或者是 『u』
每個母音 『u』 後面只能跟著 『a』
由於答案可能會很大,所以請你返回 模 10^9 + 7 之後的結果。
示例 1:
輸入:n = 1
輸出:5
解釋:所有可能的字串分別是:「a」, 「e」, 「i」 , 「o」 和 「u」。
示例 2:
輸入:n = 2
輸出:10
解釋:所有可能的字串分別是:「ae」, 「ea」, 「ei」, 「ia」, 「ie」, 「io」, 「iu」, 「oi」, 「ou」 和 「ua」。
示例 3:
輸入:n = 5
輸出:68
1 <= n <= 2 * 10^4
本來想用最笨的方法,從1算到n試試,沒想到居然過了。。。。這個如果沒記錯的話,組合數學可以把這題轉化成乙個公式,奈何本人是學渣,算不來。
無
class
solution
:def
countvowelpermutation
(self, n:
int)
->
int:
a=e=i=o=u=
1 la=le=li=lo=lu=
1for i in
range
(n-1):
a=le+li+lu
e=la+li
i=le+lo
o=li
u=li+lo
la=a
le=e
li=i
lo=o
lu=u
count=
(a+e+i+o+u)
%1000000007
return count
通過 248 ms 13.6 mb
還是太菜 力扣(leetcode)閒來無事刷一刷
給定 s 和 t 兩個字串,當它們分別被輸入到空白的文字編輯器後,判斷二者是否相等,並返回結果。代表退格字元。示例 1 輸入 s ab c t ad c 輸出 true 解釋 s 和 t 都會變成 ac 示例 2 輸入 s ab t c d 輸出 true 解釋 s 和 t 都會變成 示例 3 輸入...
閒來無事,學學python
字串 單雙三引號,三引號負責多行字串 轉義 拼接 複製 start,end,step 切片 format 格式化,可通過name指定值 len 字串長度 strip lstrip rstrip 去掉空格 split seq,num 字串轉列表 replace s1,s2,num 字串替換 encod...
(閒來無事)棧的實現
對棧的理解記住 先進後出 就可以了,什麼意思呢?就是向桶裡放積木只能拿出最上層的積木,然後一層一層的拿出這樣理解的話就簡單了,只用乙個節點一直指向棧的最上層的節點就可以了。1.首先想構造的資料結構是什麼樣子的?需要儲存的資料有哪些?儲存的資料可以根據自己的需求去新增,在我設計的資料中只有乙個那就是i...