爬楼梯(算法)

假设有N个阶梯的楼梯,每次你只能爬一个或两个台阶,计算出有多少种不同的方法爬到楼顶


int climbStairs(int n )
{
	if( n == 0 || n == 1) return 1;
	int [] dp = new int [n + 1];
	dp[0] = 1; dp[1] = 1;
	for (int i = 2; i < n + 1; i++)
	{
		dp[i] = dp[i - 1] + dp[i - 2];
	}
	return dp[n];
}


int climbStairs(int n)
{
	if(n < 2) 
		return 1;
	int s1 = 1;
	int s2 = 1;
	int sum = 0;
	for(int j = 1; j < n; j++)
	{
		sum = s1 + s2;
		s1 = s2;
		s2 = sum;
	}
	return sum;
}


阅读更多
个人分类: 算法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

爬楼梯(算法)

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭