題目描述:給你乙個整數 n,請返回長度為 n 、僅由母音 (a, e, i, o, u) 組成且按 字典序排列 的字串數量。
字串 s 按 字典序排列 需要滿足:對於所有有效的 i,s[i] 在字母表中的位置總是與 s[i+1] 相同或在 s[i+1] 之前。
解題思路:用dp[i][j]
表示以i結尾的長度為j的字串,他的解全部可以由長度為j-1的字串遞推過來,為長度為j-1且結尾字元的字母順序在i前面或者和i相等,然後同樣的方法寫出dp[i+1][j]
的遞推式,兩式相減可以得到簡化的遞推式,dp[i+1][j]=dp[i][j]+dp[i+1][j-1]
,這個遞推式也可以理解為,以字母i+1
結尾的長度為j的字串可以由兩部分得到,(1)將長度為j且結尾字元為i的字串的結尾字元都替換為i+1,即dp[i][j]
,(2)結尾字元為i+1,長度為j-1末尾加上乙個i+1得到,即dp[i+1[j-1
,**如下:
class
solution
:def
countvowelstrings
(self, n:
int)
->
int:
dp =[[
1]* n for _ in
range(5
)]for i in
range(1
,5):
for j in
range(1
, n)
: dp[i]
[j]= dp[i-1]
[j]+ dp[i]
[j-1
]return
sum(
[d[-1]
for d in dp]
)
統計字典序母音字串的數目
1641.統計字典序母音字串的數目 難度中等40 給你乙個整數 n 請返回長度為 n 僅由母音 a e i o u 組成且按 字典序排列 的字串數量。字串 s 按 字典序排列 需要滿足 對於所有有效的 i s i 在字母表中的位置總是與 s i 1 相同或在 s i 1 之前。示例 1 輸入 n 1...
字串 統計母音
description統計每個母音字母在字串 現的次數。input輸入資料首先包括乙個整數n,表示測試例項的個數,然後是n行長度不超過100的字串。output對於每個測試例項輸出5行,格式如下 a num1 e num2 i num3 o num4 u num5 多個測試例項之間由乙個空行隔開。請...
字串之統計母音
description 統計每個母音字母在字串中出現的次數。input 輸入資料首先包括乙個整數 n,表示測試例項的個數,然後是 n行長度不超過 100的字串。output 對於每個測試例項輸出 5行,格式如下 a num1 e num2 i num3 o num4 u num5 多個測試例項之間由...