爬楼梯C语言

方法一:动态规划

int climbStairs(int n) {
    int f[100] = {0};
    f[0] = 0;
    f[1] = 1;
    f[2] = 2;

    for(int i = 3;i<=n;i++)
        f[i] = f[i-1] + f[i-2];//可能是从i-1阶爬上第i阶,也有可能是从i-2阶 

    return f[n];
}

方法二:滚动数组

int climbStairs(int n){
	int p = 0;
	int q = 0;
	int r = 1;//从n==1开始算
	
	/*相当于数组中只有三个数,第三个数是前两个之和,然后向后滚动,
	得到最后一个的值*/ 
	
	    for(int i = 1;i<=n;i++)
	    {
	    	p = q;
		    q = r;
		    r = p + q;
	    } 
	    
	    return r;
}

相关推荐

  1. C++(楼梯

    2024-03-25 11:18:03       15 阅读
  2. C++ 70. 楼梯

    2024-03-25 11:18:03       11 阅读
  3. C语言入门算法——楼梯(了解动态规划)

    2024-03-25 11:18:03       47 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-25 11:18:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-25 11:18:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-25 11:18:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-25 11:18:03       20 阅读

热门阅读

  1. 函数封装冒泡排序

    2024-03-25 11:18:03       15 阅读
  2. sql中如何添加数据

    2024-03-25 11:18:03       17 阅读
  3. FPGA时钟资源详解——时钟Buffer的选择

    2024-03-25 11:18:03       18 阅读
  4. 数据结构——双向链表(C语言版)

    2024-03-25 11:18:03       15 阅读
  5. es6的核心语法

    2024-03-25 11:18:03       19 阅读
  6. 在DelayMS加入bsp_Idle,把单片机延时空闲利用起来

    2024-03-25 11:18:03       11 阅读
  7. 56. 携带矿石资源(第八期模拟笔试)

    2024-03-25 11:18:03       18 阅读
  8. python的基本语法解析

    2024-03-25 11:18:03       17 阅读
  9. 【编程向导】代码管理-Git二期期讲解

    2024-03-25 11:18:03       16 阅读
  10. leetcode - 284. Peeking Iterator

    2024-03-25 11:18:03       17 阅读
  11. 天猫开店怎么发布产品

    2024-03-25 11:18:03       16 阅读
  12. 蓝桥杯刷题_day3

    2024-03-25 11:18:03       15 阅读
  13. vue v-for指令

    2024-03-25 11:18:03       15 阅读