剑指offer_第8题_跳台阶

2023-11-07

题目描述

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

理解

  • 完全蒙啊
  • 那我们就用特例先分析一下
    如果有1级台阶,那有1种
    如果有2级台阶,那有2种
    如果有3级台阶,那一定是先跳1级或者先跳2级,再跳到3级台阶上,跳1级后有2种,跳2级后有1种,共有3种跳法
  • 如果是n级台阶呢,假设有F(n)种跳法,那一定也是先跳1级或者先跳2级,再继续跳到n级台阶,跳1级后有F(n-1)种,跳2级后有F(n-2)种,故有F(n)=F(n-1)+F(n-2)
  • 可以发现本质上就是斐波那契数列问题

解题思路

和斐波那契数列写法一样
思路1

class Solution:
    def jumpFloor(self, number):
        if number == 1:
            return 1
        elif number == 2:
            return 2
        else:
            a = 1
            b = 2
            for i in range(2,number):
                a,b = b,a+b
            return b

或者

class Solution:
    def jumpFloor(self, number):
        a=[1,2]
        if number<=2:
            return a[number-1]
        else:
            for i in range(2,number):
                a.append(a[i-1]+a[i-2])
            return a[number-1]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剑指offer_第8题_跳台阶 的相关文章

  • [剑指offer] JAVA版题解(完整版)

    本文首发于我的个人博客 尾尾部落 序号 题解 牛客 OJ 数据结构类型 03 剑指offer 二维数组中的查找 二维数组中的查找 数组 04 剑指offer 替换空格 替换空格 字符串 05 剑指offer 从尾到头打印链表 从尾到头打印链
  • 树04--从上往下打印二叉树

    树04 从上往下打印二叉树 jz22 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 从上往下打印出二叉树的每个节点 同层节点从左至右打印 测试用例 输入 5 4 3 2 1 输出 5 4 3 2 1 解析 参考答案 解析 从
  • 剑指Offer 04. 二维数组中的查找

    原题链接 思路 题目中说 每一行都是 从左向右递增的 在一个递增的序列中 查找某个数是否是存在的 二分即可 注意对边界进行判断 时间复杂度 O nlogn 代码 class Solution public boolean check int
  • 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先 -- 递归

    0 题目描述 leetcode原题链接 剑指 Offer 68 I 二叉搜索树的最近公共祖先 1 递归解法 终止条件 当 root 为空时 返回 None 当 p q 都在 root 的右子树中 则开启递归 root right 并返回 否
  • 面试题 31:连续子数组的最大和(滴滴的“连续最大和”)

    刚才在笔滴滴的测试开发 编程题第一个就是求连续子数组的最大和问题 这个题在 剑指offer 也有这么一道题 题目描述如下 输入一个整型数组 数组里有正数也有负数 数组中一个或连续多个的多个整数组成一个子数组 求所有子数组的和的最大值 要求时
  • 剑指Offer—— 最小的K个数

    题目描述 输入n个整数 找出其中最小的K个数 例如输入4 5 1 6 2 7 3 8这8个数字 则最小的4个数字是1 2 3 4 第一种方法是全排序 先把数组进行排序 排序后依次输出最小的4个 时间复杂度为nlogn 第二种方法是的原理和快
  • 剑指 Offer 63. 股票的最大利润(java+python)

    假设把某股票的价格按照时间先后顺序存储在数组中 请问买卖该股票一次可能获得的最大利润是多少 示例 1 输入 7 1 5 3 6 4 输出 5 解释 在第 2 天 股票价格 1 的时候买入 在第 5 天 股票价格 6 的时候卖出 最大利润 6
  • LeetCode-从尾到头打印链表

    用vector的reverse函数实现翻转hh Definition for singly linked list struct ListNode int val ListNode next ListNode int x val x nex
  • 剑指 Offer 57. 和为s的两个数字(java+python)

    输入一个递增排序的数组和一个数字s 在数组中查找两个数 使得它们的和正好是s 如果有多对数字的和等于s 则输出任意一对即可 示例 1 输入 nums 2 7 11 15 target 9 输出 2 7 或者 7 2 示例 2 输入 nums
  • 剑指offer_第3题_从尾到头打印链表

    题目描述 输入一个链表 按链表值从尾到头的顺序返回一个ArrayList 链表结构 class ListNode def init self x self val x self next None 理解 什么是链表 python数据结构之链
  • 【剑指Offer】(字符串)左旋转字符串(翻转操作)

    题目链接 https www nowcoder com practice 12d959b108cb42b1ab72cef4d36af5ec tpId 13 tqId 11196 tPage 1 rp 1 ru ta coding inter
  • 剑指 Offer 28. 对称的二叉树 -- 递归

    0 题目描述 leetcode原题链接 剑指 Offer 28 对称的二叉树 1 递归解法 对称二叉树定义 对于树中 任意两个对称节点 L L L 和 R R R 一定有
  • Acwing-二叉树的镜像

    遍历树中的所有点 每次遍历完之后把左右儿子swap一下 Definition for a binary tree node struct TreeNode int val TreeNode left TreeNode right TreeN
  • 数组17--机器人的运动范围

    数组17 机器人的运动范围 jz66 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 地上有一个m行和n列的方格 一个机器人从坐标0 0的格子开始移动 每一次只能向左 右 上 下四个方向移动一格 但是不能进入行坐标和列坐标的数
  • 剑指 Offer 14- I—剪绳子

    题目描述 给你一根长度为 n 的绳子 请把绳子剪成整数长度的 m 段 m n都是整数 n gt 1并且m gt 1 每段绳子的长度记为 k 0 k 1 k m 1 请问 k 0 k 1 k m 1 可能的最大乘积是多少 例如 当绳子的长度是
  • 树05--二叉搜索树的后序遍历序列

    树05 二叉搜索树的后序遍历序列 jz23 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 输入一个整数数组 判断该数组是不是某二叉搜索树的后序遍历的结果 如果是则返回true 否则返回false 假设输入的数组的任意两个数字
  • 力扣-图解算法数据结构-剑指 Offer 05. 替换空格

    题目要求 力扣题解 代码 program mydemo description 剑指 Offer 05 替换空格 author Mr zeng create 2021 03 05 11 04 public class Solution1 p
  • 第一个只出现一次的字符(Java)

    题目 在字符串中找出第一个只出现一次的字符 如输入 abaccdeff 则输出 b 第一思路 借助于数组来做 开辟一个长度为26的数组 用来存放字符串中每个字符出现的次数 这样第一次扫描去统计这个字符串中字符出现的次数 第二次去统计第一个出
  • 把字符串转换成整数(字符串)

    题目描述 将一个字符串转换成一个整数 要求不能使用字符串转换整数的库函数 数值为0或者字符串不是一个合法的数值则返回0 输入描述 输入一个字符串 包括数字字母符号 可以为空 输出描述 如果是合法的数值表达则返回该数字 否则返回0 思路一 p
  • 剑指Offer 12—矩阵中的路径

    题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 如果 word 存在于网格中 返回 true 否则 返回 false 单词必须按照字母顺序 通过相邻的单元格内的字母构成 其中 相邻 单元格是那些水平相邻

随机推荐

  • python赋值、深拷贝和浅拷贝的区别详解

    一 前言 在python中 对象赋值实际上是对象的引用 当创建一个对象 然后把它赋值给另一个变量的时候 python并没有拷贝这个对象 而只是拷贝了这个对象的引用 二 区别 1 直接赋值 默认浅拷贝传递对象的引用而已 原始列表改变 被赋值的
  • 使用企业微信登录小程序

    概述 当小程序在企业微信端运行时 需要通过对应的登录接口获取到当前企业微信用户在当前企业的员工身份信息 开发者需特别关注 当小程序在微信端运行时由微信派发和验证code参数 当小程序在企业微信端运行时由企业微信派发和验证code参数 两个平
  • vue+element-ui实现一键切换皮肤

    element ui可以自己定义主题并下载 选择好自己想要的主题 下载到本地 我下载了一套暗黑模式 一套默认的用来白天黑夜模式切换 文件目录如下 在项目的index html文件中 在sideBar vue页面中 新增下拉框选择模式
  • 快速搭建TP6-02

    快速搭建TP6 02 1 配置多应用config app php return 应用地址 app host gt env app host 应用的命名空间 app namespace gt 是否启用路由 with route gt true
  • 浅谈分布式系统 - 架构演进

    目录 1 架构演进 1 1 单机架构 1 2 什么是分布式架构 1 3 数据库和应用分离 1 4 引入负载均衡 1 5 引入数据库读写分离 1 6 引入缓存 1 7 数据库分库分表 1 8 微服务架构 2 分布式系统下的常见概念 1 架构演
  • RDA EQ&频响曲线

    相关数据 FAC gt Audio gt EQ Setting EQ Band 1 7 Gain 0 Frequency 500 Q Factor 1 5 FAC gt Audio gt PEQ 1 2 3 Enable Enable Ce
  • 使用代理进行爬虫

    爬网页的时候 尤其是一些商用网站 如果使用本地IP很容易就会被封掉 因此我们需要在代理网站上购买代理 我使用的是代理精灵网站 http http zhiliandaili com Users login html 首先要在IP白名单中加入自
  • 美赛python学习d4--python在高等数学和线性代数中的应用

    科学计算设计数值计算和符号计算 在python中作基础数值计算用numpy和scipy工具库 作符号运算用sympy工具库 sympy工具库 符号运算 sympy常见模块 符号运算基本知识 利用symbols函数创建符号变量 构造多个符号变
  • 使用ffmpeg时出现undefined reference to `lzma_stream_decoder‘的错误解决

    解决方法 加上 llzma选项
  • 基于微前端qiankun的多页签缓存方案实践

    作者 vivo 互联网前端团队 Tang Xiao 本文梳理了基于阿里开源微前端框架qiankun 实现多页签及子应用缓存的方案 同时还类比了多个不同方案之间的区别及优劣势 为使用微前端进行多页签开发的同学 提供一些参考 一 多页签是什么
  • PyCharm远程开发指南(三)- 从PyCharm连接到远程服务器

    本文译自PyCharm 2022 2官方文档 考虑到当前疫情形势下远程工作已不可或缺 PyCharm提供了远程开发的功能来帮助团队远程编码 运行 调试和部署项目 前提 在开始在远程机上开发之前 确认满足一下条件 远程机 IDE 满足最低推荐
  • 删除微信代码管理(git)分支

    1 终端打开 2 执行命令 git push cfg 远程名称 delete sd 分支名称 会提示输入git的用户名和密码 注意默认分支删除不了
  • 2021-08-04

    标签属性详解 HTML中html标签的作用 1 标签 效果 声明是文档中的第一成分 坐落标签之前 2 标签 效果 此元素可告知浏览器其自身是一个HTML文档 特点 manifest 值 url 为脱机运用界说缓存信息 3 标签 效果 标签用
  • 在operator=中处理“自我赋值”——条款11

    自我赋值 发生在对象被赋值给自己时 class Widget Widget w w w 赋值给自己 这看起来有点愚蠢 但它合法 所以不要认定客户绝不会那么做 此外赋值动作并不总是那么可被一眼辨识出来 例如 a i a j 潜在的自我赋值 如
  • 安装Win2016服务器

    文章目录 前言 一 服务器Windows版本选择 二 硬件需求 三 安装步骤 四 检查设备驱动状态及安装驱动 总结 前言 Win2016服务器的安装 一 服务器Windows版本选择 Windows server 2016 Standard
  • 计算机桌面图标右上角出现双箭头符号,电脑桌面图标有箭头,如何消除小小障碍小编有绝招...

    电脑的桌面如果出现了小小的箭头在图标的右下角 这可让人心里不舒服了 这个图标的出现 严重影响我们使用的图标软件 点击带箭头的图标 有可能不仅会出现桌面没有任何反应的现象 还可能造成图标无法正常打开 无法正常删除卸载 甚至是沾染上病毒的危险
  • 非常好用的在线架构图网页

    processon https www processon com
  • odoo 根据权限规则隐藏编辑按钮

    业务分析 正常情况下odoo的编辑按钮是不会隐藏的 如果有权限限制会提示权限访问规则错误 也就是产生一个userError 这已经在用户毫不知情的情况下让用户实现了一系列无用的操作 这对用户很不友好 用户只有点击编辑 完成所编辑的内容之后再
  • 免费股票行情软件

    飞狐 分析家 指南针 通达信 大智慧 双子星 钱龙 胜龙 海融 排名有先后哦 下面是MACD中股神MM对两个垃圾的垃圾行为的总结性分析 相信对你有帮助哈 gt 利多方舟 操盘手的十大败笔 大家进来讨论一下 主题就是公式 指标 输了钱怨软件
  • 剑指offer_第8题_跳台阶

    题目描述 一只青蛙一次可以跳上1级台阶 也可以跳上2级 求该青蛙跳上一个n级的台阶总共有多少种跳法 先后次序不同算不同的结果 理解 完全蒙啊 那我们就用特例先分析一下 如果有1级台阶 那有1种 如果有2级台阶 那有2种 如果有3级台阶 那一