python爬楼梯求至少多少阶梯

Python021

python爬楼梯求至少多少阶梯,第1张

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。

注意:给定 n 是一个正整数。

示例 1:

输入: 2

输出: 2

解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶 和 2 阶

解题思路:

实现了两种方法,但是第一种超出时间限制(。ì _ í。),因为递归的时候方法实际计算了两次。两种方法都使用了动态规划思想,比如对于爬10阶楼梯,我们最后一步爬上第10阶只会有两种情况,一种是从9阶楼梯爬1个台阶,一种是从8阶台阶爬2两个台阶上来。所以10阶台阶问题可以划分为爬9阶和8阶两个子问题,一直递归划分到只剩2阶(2种方法)和1阶(一种方法)。

超出时间限制的代码:

class Solution:

def climbStairs(self, n: int) ->int:

if n<=2:

if n==2:

#include "stdio.h"

main()

{

int i,cnt=0

i=0

while(1)

{

if(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0)

{

printf("%d ",i)

cnt++

if(cnt%10==0)

putchar('\n')

}

i++

if(cnt==100)

break

}

}