碎碎念
AI已经强大到我觉得「他已经知道我在刷leetcode」了......
可能我问问题的时候直接让他知道我是要看母音吧
是说,我很想知道到底是谁在看我的文章,一百多浏览到底是怎样
看到这句话的可以留言一下你们为甚么会点进来吗
题干
这一题要根据n(长度)在指定规则下生成尽可能多的list
可用的元素是英文的母音
例如n=1的话,就是[a][e]......共五组
n=2=>[ae][ea]......共十组
规则题目有给,自己看
反正最后要返回的数字是「总共可以生成多少组」
解题思路
这个看起来就很迭代,一开始我想要用递迴来处理,根据每一个list最后一个元素来生成新的list
但后来AI直接帮我省掉这个方案
我自己半段原因如下
所以后来用了转换矩阵这个酷方法
class Solution: def countVowelPermutation(self, n: int) -> int: # 初始值代表a, e, i, o, u counts = [1, 1, 1, 1, 1] for _ in range(2, n + 1): # 使用当前的counts来计算下一个的counts a, e, i, o, u = counts counts = [ e, # 下一个a的数量 a + i, # 下一个e的数量 a + e + o + u, # 下一个i的数量 i + u, # 下一个o的数量 a # 下一个u的数量 ] return sum(counts)%1000000007
把符号运算数字化,很酷