当前位置: 首页 > news >正文

建站公司杭州营销网址

建站公司杭州,营销网址,如何查一个网站的备案,静宁门户网站目录 70#xff1a;爬楼梯 题目要求#xff1a; 解题思路#xff1a;#xff08;类似斐波那契数#xff09; 递归解法#xff1a; 非递归解法#xff1a; 126#xff1a;斐波那契数 题目要求#xff1a; 解题思路#xff1a; 递归解法#xff1a; 非递归解…目录 70爬楼梯 题目要求 解题思路类似斐波那契数 递归解法 非递归解法 126斐波那契数 题目要求 解题思路 递归解法 非递归解法 都看到这了点个赞再走呗谢谢谢谢谢 70爬楼梯 题目要求 解题思路类似斐波那契数 递归解法 由题可知每次可以爬1个或者2个台阶假如有n个台阶会有多少种走法那么我们就想第一次爬一个台阶那方法数就是爬这一次台阶加上剩下n-1个台阶的走法爬两个台阶那方法数就是爬完这两个台阶再加上剩下n-2个台阶的走法很容易就想到递归的解法了而使用递归我们要找到终止条件也要写出递归公式 但是这么递归的时间复杂度很高LeetCode上通过不了会有很多重复计算的斐波那契数我们可以用HashMap来解题每次往下找之前都记录一下map里面有没有n这个斐波那契数有就不用继续往下找了直接返回这个斐波那契数没有就继续往下找有了HashMap的引用我们时间复杂度就变成了O(N)在LeetCode上也就能通过了。 递归公式如下 代码如下 class Solution {HashMapInteger, Integer hashmap new HashMap();public int climbStairs(int n) {if(n 1) {return 1;}if(n 2) {return 2;}//每次递归都判断map有没有n个台阶爬楼梯方法数没有算出当前n阶台阶的方法数放进map里放进map里后就不用继续往下递归了直接返回这个方法数因为hashmap已经存了n阶台阶的方法数了有就不用继续递归了直接返回n台阶的方法数if(hashmap.get(n) ! null) {return hashmap.get(n);} else {int result climbStairs(n - 1) climbStairs(n - 2);hashmap.put(n, result);return result;}} } 非递归解法 从此图我们可以看出要求n的斐波那契数必须求前一个和前两个的斐波那契数也就是上图的公式非递归的解法我们就用循环来解决从下至上来求n的斐波那契数我们定义一个pre和prePre变量来记录前一个和前两个的斐波那契数result来记录n的斐波那契数每循环一次都要更改pre和prePre的下标时间复杂度为O(N). 代码如下 public int climbStairs(int n) {//非递归思想if(n 1) {return 1;}if(n 2) {return 2;}int result 0;int pre 2;int prePre 1;for(int flg 3; flg n; flg) {result pre prePre;//pre和prePre都要往前推prePre pre;pre result;}return result;} 126斐波那契数 题目要求 解题思路         这题和爬楼梯思路一样解法也一样递归和非递归也一样不过他的递归公式和结束条件和爬楼梯不一样公式如下图 递归思路因为递归会重复计算很多次所以我们可以用一个HashMap来记录n的斐波那契数每递归一次都判断map里面有没有n的斐波那契数有就不用继续往下递归了直接返回这个斐波那契数没有就往下递归把1后面的斐波那契数列都记录在map中这样时间复杂度就是O(N)了LeetCode也能通过。 非递归思路用循环从下至上求得每个斐波那契数我们定义result放n的斐波那契数pre放n的前一个斐波那契数prePre放n的前两个斐波那契数每循环一次都要更新一次pre和prePre的下标往上走。 递归解法 代码如下 MapInteger, Integer map new HashMap();public int fib(int n) {if(n 0 || n 1) {return n;}if(map.containsKey(n)) {return map.get(n);}//n的斐波那契数不在map里int result (fib(n - 1) fib(n - 2)) % 1000000007;//int result (fib(n - 1) fib(n - 2));map.put(n, result);return result;} 非递归解法 public int fib(int n) {//非递归if(n 0 || n 1) {return n;}int result 0;int pre 1;int prePre 0;for(int i 2; i n; i) {result (pre prePre) % 1000000007;prePre pre;pre result;}return result;} 都看到这了点个赞再走呗谢谢谢谢谢
http://www.hkea.cn/news/14455465/

相关文章:

  • 行业门户网站如何做长沙公司排行榜
  • 做网站有没有受骗过长春互联网企业
  • 杭州微信网站建设信息流优化师职业规划
  • 连云港企业做网站免费的上色软件
  • 南阳网站运营wordpress判断浏览器
  • 网站前端设计与制作opencart wordpress
  • 徐州微信网站建设wordpress获取分类链接地址
  • kkday是哪里做的网站网络推广方法怎么做
  • 导购网站免费推广知名商业网站有哪些
  • 厦门企业网站排名优化seo公司费用
  • 深圳网站seo关键词贵港网站建设代理
  • 中国工程建设标准化网站计算机软件开发就业前景
  • 勉县网站建设中英双文网站怎么做
  • 网站开发工具 知乎网站开发技术视频
  • 做公司网站需要学哪些网站开发公司北京
  • 合肥网站建设久飞无锡高端网站设计
  • 安徽住房和建设厅网站做终端客户网站
  • 做6个页面的网站校园社交网站开发
  • 佛山免费建站公司外包做网站平台 一分钟
  • 石家庄市住房和城乡建设厅网站杭州网站制作服务
  • mvc5 网站开发美學 pdfwordpress分享内容插件
  • 南宁网站建设报价北京制作手机网站
  • 邢台网站建设哪家公司好小规模公司自学做账
  • 网站你懂我意思正能量app中国建设银行的官方网站
  • 网站被降权如何恢复腾讯云网站建设教学视频教程
  • 网站开发语言php新媒体营销方案策划书
  • 成都天府新区网站建设工作室建设
  • 深圳品牌网站建设服务费用网站建设的技术难点
  • 几个做ppt的网站知乎wordpress-move
  • 鲜花便宜的网站建设电子商务网站开发技术解决方案