当前位置: 首页 > 后端技术 > Python

Leetcode面试题08.01.三步题Python实现

时间:2023-03-26 12:38:41 Python

题目要求:思路:有一种方法可以走到第一步:(1)有两种方法可以走到第二步:(1)1+1(2)2有第三步上去有四种方式:(1)1+1+1(2)1+2(3)2+1(4)3所以从第四步开始,可以用前面的数据来计算,比如上第四级台阶,可以从第一步一步上三步,也可以从第二步一步上两步,也可以一步步上第三步。a次,所以采取第四步每一步的方法总数为(第一步的方法+第二步的方法+第三步的方法)。从第4步开始的每一步都可以根据当前步的前三步的方法求和计算,所以只需要维护当前步的前三步。核心代码:ifn<=2:returnnstep1,step2,step3=1,2,4foriinrange(3,n):step1,step2,step3=step2%1000000007,step3%1000000007,(step1+step2+step3)%1000000007returnstep3completecode:classSolution:defwaysToStep(self,n:int)->int:如果n<=2:returnnstep1,step2,step3=1,2,4foriinrange(3,n):step1,step2,step3=step2%1000000007,step3%1000000007,(step1+step2+step3)%1000000007返回step3