• 剑指Offer 10 斐波那契数列


     斐波那契数列

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
    n<=39

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def Fibonacci(self, n):
     4         if n == 0:
     5             return 0
     6         if n == 1:
     7             return 1
     8         dp = [0] * (n+1)
     9         dp[1] = 1
    10         for i in range(2,n+1):
    11             dp[i] = dp[i-1] + dp[i-2]
    12         return dp[n]
    13         # write code here

    矩形覆盖

    我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def rectCover(self, number):
     4         if number<=2:
     5             return number
     6         dp = [0] * (number+1)
     7         dp[1] = 1
     8         dp[2] = 2
     9         for i in range(3,number+1):
    10             dp[i] = dp[i-1] + dp[i-2]
    11         return dp[number]
    12         # write code here

    跳台阶

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def jumpFloor(self, number):
     4         if number < 3:
     5             return number
     6         pp = 1
     7         p = 2
     8         cur = pp + p
     9         for i in range(3,number+1):
    10             cur = pp + p
    11             pp = p
    12             p = cur
    13         return cur
    14         # write code here

    变态跳台阶

    一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    1 # -*- coding:utf-8 -*-
    2 class Solution:
    3     def jumpFloorII(self, number):
    4         dp = [1] * (number+1)
    5         for i in range(1,number+1):
    6             for j in range(1,i):
    7                 dp[i] += dp[j]
    8         return dp[number]
    9         # write code here
  • 相关阅读:
    Zero-shot Relation Classification as Textual Entailment (Abiola Obamuyide, Andreas Vlachos, 2018)阅读笔记:Model
    高阶Erlang:超大只的问答房间
    高阶的Parser:可变运算优先级
    Erlang练习2:火烈鸟
    Erlang实现的模拟kaboose(山寨kahoot)
    Prolog模拟社交圈
    08-bootcss
    07-jQuery
    06-字符串、表单form、input标签
    05-有名/无名函数
  • 原文地址:https://www.cnblogs.com/asenyang/p/11013052.html
Copyright © 2020-2023  润新知