动态规划走楼梯

动态规划走楼梯,第1张

概述动态规划楼梯

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

    //      //  main.cpp      //  动态规划走楼梯      //      //  Created by liujan on 11/18/14.      //  copyright (c) 2014 liujan. All rights reserved.      //      /*      问题描述:一个楼梯有20级,每次走1级或2级,从底走到 顶一共有多少种走法?      分析:      假设从底走到第n级的走法有f(n)种,走到第n级 有两个方法,一个是从第(n-1)级走1步,另一个是从第(n- 2)级走2步,前者有f(n-1)种方法,后者有f(n-2)种方法,所 以f(n)=f(n-1)+f(n-2),另外f(0)=1,f(1)=1            优化:      利用动态规划,将每层楼的走法保存下来,避免重复计算      */            #include <iostream>      using namespace std;            int result[100]; //保存到达每个楼梯的走法,为了避免重复计算            int move(int n){          if (result[n] > 0) //如果该楼梯此前求过,则直接返回先前的结果就可以了,避免重复求解              return result[n];          else{              int ans = 0;              if (n == 0 || n == 1)                  ans = 1;              else{                  ans = move(n-1) + move(n-2);              }              result[n] = ans; //保存该楼层计算结果              return ans;          }      }      int main(int argc,const char * argv[]) {          // insert code here...          memset(result,sizeof(int) * 100);          cout << move(20) << endl;          return 0;      }  

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的动态规划走楼梯全部内容,希望文章能够帮你解决动态规划走楼梯所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1232264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存