面试题

作者: 逍遥_yjz | 来源:发表于2020-04-19 12:40 被阅读0次

剑指Offer系列刷题笔记汇总
倒数

def back(i):
    res = 0
    while(i>0):
        res = res*10 + i%10
        i //= 10
    return res
if __name__ == '__main__':
    i = 750
    print(back(i))
    #  57

斐波那切数列




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

解题思路:
1.如果青蛙第一次跳1级台阶,那么后面应该有f(n-1)种跳法
2.如果青蛙第一次跳2级台阶,那么后面应该有f(n-2)种跳法
3.所有总共的跳法为:f(n) = f(n-1)+f(n-2)转换为斐波那契数列。

class Solution:
    def jumpFloor(self, number):
        # write code here
        if number <= 0:
            return 0
        if number == 1:
            return 1
        if number == 2:
            return 2
        a = 1
        b = 2
        while number>2:
            temp = a
            a = b
            b = b + temp
            number = number - 1
        return  b

if __name__ == '__main__':
    s = Solution()
    print(s.jumpFloor(5))  # 8

青蛙变态跳台阶

# -*- coding:utf-8 -*-
class Solution:
    def jumpFloorII(self, number):
        # write code here
        # 先找规律试下
        # number = 1;    1
        # number = 2;    2
        # number = 3;    4
        # number = 4;    8
        # 1,2,4,8,...,2^(n-1)能推理出公式规律
        # 则number = n; 2^(n-1)
        # return pow(2,number-1)
         
        # 方法2:重新反向思考,如果把n级台阶的跳法看成n的函数f(n),则青蛙跳
        # f(n) = f(n-1) + f(n-2) + ...+ f(1)
        # 同理:
        # f(n-1) = f(n-2) + f(n-3) + ... + f(1)
        # 即: f(n) = f(n-1) + f(n-1) = 2f(n-1)
        # 这时候看这个其实比fibnacci公式还要简单
        if number == 1:
            return 1
        a = 1
        temp = 1
        for i in range(1,number):
            temp = 2 * a
            a = temp
        return temp

相关文章

  • 面试材料

    面试经验 面试题1 面试题2 面试题3 面试题4 面试题5 面试题6――数据结构 面试题7――网络 面试题8――汇...

  • 高阶面试题

    webpack面试题 面试题:webpack插件 Git面试题 面试题:git常用命令 面试题:解决冲突 面试题:...

  • this的指向的面试题

    面试题1 面试题2 面试题3 面试题4

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • Android超实用最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • Android最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

  • ios面试题

    初级面试题 中级面试题 高级面试题 swift篇

  • Android超实用最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

  • Android最全面试大纲(四)

    文章目录: 冷启动和热启动面试题 其他优化面试题 架构模式面试题 插件化面试题 热更新面试题 进程保活面试题 Li...

网友评论

      本文标题:面试题

      本文链接:https://www.haomeiwen.com/subject/xrinshtx.html