题目标题

跳台阶问题—-题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。
求总共有多少总跳法,并分析算法的时间复杂度

参考解析
  1. def num_ways(n):
  2. a = b = 1
  3. for i in range(n):
  4. a, b = a + b, a
  5. return b

推荐习题

二叉搜索树中删除指定节点 给定数组{a1, a2, a3, ... an},要求挑出一些数,这些数不能相邻,使得加起来的和最大。 Sort sorted区别 了解 python 装饰模式么? 能否写一个 demo 有一个木棍长度为n个单位,上面有若干只蚂蚁。蚂蚁只能沿着它朝左或者朝右走。速度为1个每秒一个单位。如果两只走的方向不同的蚂蚁相遇,则它们都会调头,朝相反方向以同样的速度继续走。给定所有蚂蚁的位置,求最后一只蚂蚁掉下棍子的时间。 数据范围:木棍长度n :正整数 1 <= n <= 10000 每只蚂蚁的位置和走的方向,两个非负整数数组left[], right[] 每个数组长度为[0, n + 1]之间的整数。两个数组长度总和是[1, n + 1]之间的整数,在两个数组里,没有整数重复出现。(位置表示是非负整数[0..n]之间。的同一个位置不会有两只蚂蚁。总体上,至少存在一只蚂蚁。) 例如 输入:n = 4, left = {4,3}, right = {0,1}, 答案是4……自己分析下就好。 ![](https://pupload.chinahadoop.cn/program/20201102/8587d7b20eef5b686539bd2430d3afc7.png) 求三个升序数组a[l],b[m],c[n]中,每个数组出一个数,要求max(|a[i]-b[j]|,|a[i]-c[k]|,|b[j]-c[k]|)最小。 二叉树层次遍历 输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下二元树 10 / \ 5 12 / \ 4 7 则打印出两条路径:10, 12和10, 5, 7