跳臺階問題

1、遞歸面試

              { 1, n=1                            若是是一次能夠跳         {  1 ,n=1算法

    f(n) = | 2, n=2                              一、二、3級,則   f(n) = |  2, n=2編程

              { f(n-1)+f(n-2)  , n>2                                              |  4, n=3code

                                                                                            {  f(n-3)+f(n-2)+f(n-1), n>3io

long long solution( unsigned int n){
	int rtn={0,1,2};
	if( n<3) return rtn[n];
	return solution(n-2)+solution(n-1);
}

 

2、遞推
 class

int solution( int n){
	int dp[3]={1,1};
	if( n<2) return 1;
	
	for( int i=2; i<=n; i++){
		dp[2]=dp[0]+dp[1];
		dp[0]=dp[1];
		dp[1]=dp[2];
	}
	return dp[2];
}

dp[2]初始值為0讀書筆記

 

         本文爲《編程之法 面試和算法心得》讀書筆記。co

相關文章
相關標籤/搜索