zoukankan      html  css  js  c++  java
  • 爬楼梯

    下面是一个算法题:爬楼梯。

    就是有N个阶到达楼顶,你一次能走1个或者2个,有几种办法可以到达楼顶。

    N是一个正整数。

    这个题百度一下大一堆。

    有的人直接就给出计算方式。

    N=1 1

    N=2 2

    N>2   (N-1)要的方式+(N-2)要的方式和。使用递归算法。

    ---------------------------------

    下面不说解法,说下怎么理解。因为刚看到这个时,想了半天。为什么会是这样的一个方式。后来一想,确实就是这样的。智商低没办法.....。

    首先直接从3阶说起。再增加一阶。这个时候。你有3阶的3种方式上到3阶(废话),你只要再多一步,就能上到4阶了。所以从3阶你有3阶种办法上到4阶。因为可以走2个的。所以你还有从2阶走2个的办法上到4阶。也就是2阶的2个办法。你也只有这两种办法上分别从3阶和2阶到4阶呀。所以就是第三个公式了。

    同理可以往5阶,6阶,7阶的推。

    说到这里,如果说一次能走1个2个3个呢。你要怎么解法。理解了上面说的。就是(N-1)  + (N-2) +  (N+3)了。这里的NY就要>3才成立了

    有人说2阶的时候可以+1+1到4阶呀。。其实这里2阶+1就与3阶的重复了。算是3阶的了。好了,就说那么多。

    想要算法的百度一下。一大堆。

  • 相关阅读:
    ntp网络时间服务搭建
    Docker虚拟化容器的使用
    第06章 Linux文件权限体系讲解
    Linux命令总结--sed命令
    Linux命令总结--date命令
    第05章 正则表达式及相关命令
    子网划分
    第04章系统目录结构知识讲解
    第03章Linux基础优化
    2.5linux命令介绍
  • 原文地址:https://www.cnblogs.com/bfyang5130/p/15800098.html
Copyright © 2011-2022 走看看