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
  • 相关阅读:
    jquery.autocomplete 使用解析
    《SEO实战密码》
    Thinkphp 生成的验证码不显示问题解决
    css去除li的小圆点
    css隐藏input边框阴影
    HBuilde 申请密钥证书
    请求筛选模块被配置为拒绝包含 hiddenSegment 节的 URL 中的路径
    js 判断屏幕下拉上滑操作
    gis 从WGS84转百度
    GIS个坐标系转换
  • 原文地址:https://www.cnblogs.com/pythonbigdata/p/12765979.html
Copyright © 2011-2022 走看看