首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python的7个台阶,你怎么走?

    问题是这样的: 假如这里有 n 个台阶,你可以选择每次完成一个台阶 或者 两个台阶,试问走完这 n 个台阶有多少种走法呢?...举个例子,如果有 7 个台阶,你可以选择 2 - 2 - 2 - 1 走完,也可以选择 2 - 1 - 1 - 1 - 2 走完。...首先,你跨出的每个第一步,都只有两种选择,要么跨出一个台阶,要么跨出两个台阶。而每个下一步又是一个全新的开始,又面临着两种选择。你看,有点递归的味道了吧?每个过程都是重复的过程。...写递归函数,有两个最重要的点: 递推公式:f(n) = f(n-1) + f(n-2) 终止条件:f(1) = 1,f(2) = 2 用 Python 写一下: def calc_step_recursion...正好之前在看 《流畅的Python》 这本书的时候,学习到了一个非常好用的内置装饰器(lru_cache)。它可以将这些函数的运行结果保存下来(其实就是缓存),避免传入重复参数造成重复计算。

    73030

    台阶问题

    题目: 给定一个有N个台阶的楼梯,一个人从下到上开始跳台阶,这个人有两种跳的方式:一次跳一个台阶,一次跳两个台阶; 问:从台阶底端跳到台阶顶端,有多少种跳台阶的方式?...如果只有1个台阶,那么显然只有一种跳法;如果 是2级台阶,那么有2种跳法。...对于一个有n级台阶的楼梯来说,我们设跳法为 f(n) ,假如我们先跳1个台阶,则剩下有 n-1 个台阶,跳法为 f(n-1) 次,假如我们先跳2个台阶,则剩下 n-2 阶,跳法为 f(n-2);由此可以推出...,对于一个n阶的楼梯,有以下这个跳台阶的公式: ?...解题代码如下: [cpp] view plaincopy /** 题目描述: 有N个台阶,一个人从台阶下向上跳台阶,有两种跳的选择 1次跳一个台阶,1次跳两个台阶 这两种选择;

    63090

    青蛙跳台阶

    求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 2.难度等级 easy。 3.热门指数 ★★★★☆ 出题公司:腾讯、富途证券。 4.解题思路 设 f(n) 表示青蛙跳上 n 级台阶的跳法数。...当只有一个台阶时, 即 n = 1 时, 只有 1 中跳法; 当 n = 2 时,有 2 种跳法; 当 n = 3 时,有 3 种跳法; 当 n 很大时,青蛙在最后一步跳到第 n 级台阶时,有两种情况...: 一种是青蛙在第 n-1 个台阶跳一个台阶,那么青蛙完成前面 n-1 个台阶,就有 f(n-1) 种跳法,这是一个子问题。...另一种是青蛙在第 n-2 个台阶跳两个台阶到第 n 个台阶,那么青蛙完成前面 n-2 个台阶,就有 f(n-2) 种情况,这又是另外一个子问题。...8.问题拓展 青蛙跳台阶问题可以引申为如下问题: 一只青蛙一次可以跳上1级台阶,也可以跳上2 级,……,也可以跳上n 级,此时该青蛙跳上一个n级的台阶总共有多少种跳法?

    95420
    领券