leetcode_70题——Climbing Stairs(简单DP题)

Climbing Stairs

  Total Accepted: 54579 Total Submissions: 158996My Submissions

 

You are climbing a stair case. It takes n steps to reach to the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

 

Hide Tags
  Dynamic Programming
Have you met this question in a real interview? 
Yes
 
No
 

Discuss

#include<iostream>

#include<vector>

using namespace std;

int climbStairs(int n) {

	if(n==0||n==1)

		return 1;

	int *ptr=new int[n+1];

	for(int i=0;i<n+1;i++)

		ptr[i]=0;

	ptr[n]=1;

	ptr[n-1]=1;

	for(int i=n-2;i>=0;i--)

		ptr[i]=ptr[i+1]+ptr[i+2];

	int last=ptr[0];

	delete []ptr;

	return last;

}

int main()

{

	cout<<climbStairs(3)<<endl;

}

  

你可能感兴趣的:(LeetCode)