zoukankan      html  css  js  c++  java
  • 剑指offer分块总结----------递归和循环

    1、斐波那契数列

    题目描述

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

    n<=39

    class Solution:
        def Fibonacci(self, n):
            # write code here
            if n==0:
                return 0
            if n==1:
                return 1
            if n==2:
                return 1
            if n>=3:
                a=1
                b=1
                c=0
                for i in range(3,n+1):
                    c=a+b
                    a=b
                    b=c
            return c

    2、跳台阶

    题目描述

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
    class Solution:
        def jumpFloor(self, number):
            # write code here
            if number<=0:
                return 0
            if number==1:
                return 1
            if number==2:
                return 2
            if number>=3:
                a=1
                b=2
                c=0
                for i in range(3,number+1):
                    c=a+b
                    a=b
                    b=c
                return c

    3、变态跳台阶

    题目描述

    一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
    class Solution:
        def jumpFloorII(self, number):
            # write code here
            if number<=0:
                return 0
            else:
                return pow(2,number-1)

    4、矩形覆盖

    题目描述

    我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
     
    比如n=3时,2*3的矩形块有3种覆盖方法:
    class Solution:
        def rectCover(self, number):
            # write code here
            if number<=0:
                return 0
            if number==1:
                return 1
            if number==2:
                return 2
            if number>=3:
                a=1
                b=2
                c=0
                for i in range(3,number+1):
                    c=a+b
                    a=b
                    b=c
                return c
  • 相关阅读:
    Collection<E>接口
    Iterable<T>接口
    Iterator<E>接口
    js图片压缩
    js计算最大公约数和最小公倍数
    canvas原生js写的贪吃蛇
    左右两栏div布局,高度自适应
    vue的图片路径,和背景图片路径打包后错误解决
    职责链模式
    js多个异步请求,按顺序执行next
  • 原文地址:https://www.cnblogs.com/pythonbigdata/p/12765979.html
Copyright © 2011-2022 走看看