力扣(leetcode)閒來無事刷一刷

2021-09-29 20:39:52 字數 1153 閱讀 2350

給你乙個整數 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...