关闭

爬楼梯(算法)

223人阅读 评论(0) 收藏 举报
分类:

假设有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;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22115次
    • 积分:1126
    • 等级:
    • 排名:千里之外
    • 原创:46篇
    • 转载:7篇
    • 译文:49篇
    • 评论:1条
    文章分类
    最新评论