剑指offer_第9题_变态跳台阶

【面试题】N级台阶(比如100级),每次可走1步或者2步,求总共有多少种走法? 走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法?一、 题目分析这个问题本质上是斐波那契数列,假设只有一个台阶,那么只有一种跳法,那就是一次跳一级,f(1)=1;如果有两个台阶,那么有两种跳法,第一种跳法是一次跳一级,第二种跳法是一次跳两级,f(2)=2。如果有大于2级的n级 阅读详情

题目描述

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

理解

  • 真是一只变态的青蛙

解题思路

解题1

  • 如果是n级台阶,假设有F(n)种跳法,那一定也是先跳1级或者先跳2级……或者n-1级,或者直接跳到n级。
  • 跳1级后有F(n-1)种,跳2级后有F(n-2)种……跳n-1级有F(1)种,直接跳到n级台阶为1种,故有F(n)=F(n-1)+F(n-2)+……+F(1)+1
class Solution:
    def jumpFloorII(self, number):
        a = [1,2]
        if number == 1:
            return 1
        elif number == 2:
            return 2
        else:
            for i in range(2,number):
                ai=1
                while i> 0:                  
                    i-=1
                    ai+=a[i]
                a.append(ai)
            print(a)
            return a[number-1]

简化写法

class Solution:
    def jumpFloorII(self, number):
        if number < 3:
            return number
        a = [0,1,2]
        for i in range(3, number+1):
            a.append(sum(a)+1)
        return a[number]

思路2

  • 每一级台阶跳或不跳都有两种
  • 一级台阶有1种,2^0种
  • 二级台阶,第一级台阶跳或者不跳,2^1种
  • 三级台阶,第一级台阶跳或者不跳,2种,第二级台阶跳或者不跳,2种,共2^2种
  • n级台阶……共2^{n-1}种,即F(n) = 2^(n-1)
class Solution:
    def jumpFloorII(self, number):
        if number <= 0:
            return 0
        else:
            return 2**(number-1)
基于深度学习的道路裂缝检测识别研究(开题报告) 具体而言,将本研究提出的模型与其他先进的道路裂缝检测算法在相同的数据集上进行对比实验,通过对比实验结果,分析不同算法在准确率、召回率、F1值等指标上的优劣,以及在实际应用中的表现。通过对综述论文的学习了解,对计算机视觉、多模态相关领域的基础进行简要介绍,并在跨模态行人重识别研究领域归纳国内外研究现状和发展趋势,明确当前面临的问题和挑战,并针对当前存在的问题展开后续研究。第二,研究解决该问题的途径和方法。基于深度学习的道路裂缝检测识别研究,旨在通过构建和优化深度学习模型,实现对道路裂缝的自动识别和定位。 阅读详情

相关推荐

手把手教你用示波器实测LVDS/CML信号:从波形解读到故障排查(附实测图)

本文详细介绍了如何使用示波器实测LVDS和CML信号,从波形解读到故障排查的全过程。涵盖差分探头选择、示波器配置、标准波形特征解读、眼图分析技巧以及高速信号捕获要点,帮助硬件工程师快速诊断和解决信号完整性问题。附实测图和案例,提升高速数字电路设计效率。

weixin_27215337的博客 200

变态跳台阶(剑指Offer 第 9 题)

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路:网上出现比较多的方法都是不完全归纳法,找出规律有总共有 2的n-1次方 跳法。参见: http://blog.youkuaiyun.com/ns_code/article/details/25367797 这里提出一种不一样的思路:如上图,每一种跳法都是从1到n的一条路径,我们监

斗气7阶 451

MiniMax H3 + ComfyUI 工作流搭建指南:从整合包到视频生成

AI视频生成正成为内容创作的新基础设施,而ComfyUI作为可视化工作流引擎,将复杂的模型推理过程拆解为节点与连线,让本地视频生成变得可复用、可批量。理解这一原理后,用户无需编写代码,只需掌握模型加载、提示词控制、采样与解码的基本链路,即可搭建出稳定的视频生产管线。MiniMax H3作为前沿视频生成模型,在ComfyUI中通过权重文件和自定义节点落地,配合整合包可大幅降低环境配置门槛。从硬件评估、目录结构到节点连接与参数调优,本文系统性梳理了从零跑通一条视频生成工作流的完整路径,帮助用户在批量素材生成、风

weixin_29057065的博客 415

剑指offer第9题:斐波纳西数列

输入:n 输出:f(n) 思路:由f(1),f(2)得到f(3);f(2),f(3)得到f(4),继而得到f(n)public class Fibonacii { //剑指offer第九题,Fibonacii数列 public long fibonacii(int n){ int[] result = {0,1}; if(n < 2){

天行九歌 1013

LVGL开发新选择:深度对比NXP GUI Guider与SquareLine Studio,免费版够用吗?

本文深度对比了LVGL开发中两款主流工具NXP GUI Guider与SquareLine Studio的核心差异,包括功能定位、设计能力、代码生成质量和硬件适配等方面。针对不同项目需求,分析了免费版工具的适用性,帮助开发者根据预算和功能需求做出明智选择。特别关注了GUI设计工具在嵌入式开发中的实际应用效果。

weixin_26976635的博客 431

华为校招实习机试&华为社招机试20240619-2.排列组合的回文字符串[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率

如果一个字符串和它反转后的字符串相同,我们称这个字符串为回文字符串,如"aba"是一个回文字符串,"abb"不是一个回文字符串(长度为1的字符串也是回文字符串)。现给定一个字符串,其长度范围为:[1,1000),返回其通过重新排列组合后所有可能的回文字符串的个数(需要去除重复的组合)。返回其通过重新排列组合后所有可能的回文字符串的个数,去除重复的组合后的回文字符串是"abba","baab",因此返回2。解释:排列组合后的回文字符串是"abba" , "baab",因此结果为2。

算法算法算法!!! 830

剑指offer_9 变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路: 没有明确的线索,采用数学归纳法: fn表示跳上n级台阶的方法数; f1=1,f2=2,f3=1+1+2=4; f4=1+3+2+1+1=8(一级一级有1种,一级两级有3种,一级三级有2种,两级两级有1种,四级的有1种,一共是8种) …. 可以发现,fn=2^(

nalanmingdian的博客 277

华为OD机试真题 新系统 2026-06-10 C++ 实现【设备重排SN】

通信设备SN一般是包含:字母、数字,用'-'(破折号)进行分组分割,例如:8F-3T-1G-2n是一个有效的SN地址。 现在要对已经存在的SN 按照新的规则进行重排:

MISAYAONE的博客 131

剑指offer——面试题9计算斐波纳切第n个数

/** * 计算斐波纳切数列的第n个值 * @author chibozhou * */ public class Fibonacci { /** * 分析:斐波纳切数列的第n个数的值是其前两个数之和, * 因此要计算第n个数就需要计算其前两个数, * 以此类推,直到计算出第0个数为止, * 因此可以使用递归。 */ /** * 采用递归的方法 */

大闲人柴毛毛 2459

YOLOv12改进策略【Head】| ASFF 自适应空间特征融合模块,改进检测头Detect_ASFF

在目标检测中,处理多尺度物体是一个具有挑战性的问题。虽然特征金字塔或多级特征塔是解决多尺度问题的常用方法,但在单阶段检测器中,不同尺度特征之间的不一致性限制了其性能提升。为了解决这个问题,提出了自适应空间特征融合(ASFF)模块。

Limiiiing的博客 1171

Multisim14.0仿真(五十九)基于74LS161的24进制计数器应用设计

它具有同步预置、异步清零功能,支持并行数据加载,并可在计数使能控制下进行二进制计数。:低电平时,在下一个时钟上升沿加载输入数据(A, B, C, D)。(多个 74LS161D 串联构成 8 位、12 位等更长计数器)。低电平时,下一个时钟上升沿加载输入数据(A, B, C, D)。:低电平有效,立即清零计数器(不受时钟控制)。均为高电平时,每个时钟上升沿计数。:两者均为高电平时,计数器才能递增。:立即清零计数器(不受时钟控制)。(通过预置初始值控制计数范围)。(计数范围:0 ~ 15,即。

corlin6688的博客 4763

剑指offer第9题:变态跳台阶

剑指offer第9题:变态跳台阶题目描述变态跳台阶分析源码 题目描述 变态跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析 类似于跳台阶,要想跳到n阶,此时有n中情况: 1.从0阶,跳上n阶到n阶, 2.从1阶,跳上n-1阶到n阶 3.从2阶,跳上n-2阶到n阶 以此类推 。。。 n.从n-1阶,跳上1阶到n阶。 总结上述...

可爱的小腊肉 270

基于机器学习的电视剧类型点击量数据分析研究

1. 背景介绍 1.1 流媒体平台的兴起与电视剧市场的繁荣 近年来,随着互联网技术的飞速发展,流媒体平台如Netflix、Disney+、腾讯视频等迅速崛起,成为人们观看影视内容的主要渠道。电视剧作为流媒体平台上的重要内容类型,其点击量数据蕴含着丰富的用户偏好和市场趋势信息。

AI天才研究院 1051

《剑指Offer》Java刷题 NO.8 跳台阶&NO.9 变态跳台阶

《剑指Offer》Java刷题 NO.8 跳台阶&NO.9 变态跳台阶 传送门:《剑指Offer刷题总目录》 时间2020-02-11 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路:其实就是第七题斐波那契数列的一个应用,只不过初始值f(1)=1;f(2)=2; 青蛙跳上第n级台阶只有两种方式,从第n-...

qq_39618369的博客 214

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【牛客剑指offer刷题】:Python:9.变态跳台阶

变态跳台阶 时间限制:1秒 空间限制:32768K 热度指数:301337 算法知识视频讲解 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 答案:数学归纳法可以得出这个题的结果是2的n-1次方。 解析 关于本题,前提是n个台阶会有一次n阶的跳法。分析如下: f(1) = 1 f(2) = f(2-1) + f(2-2) ...

Jack_Kuo的博客 1327

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

《剑指offer》第9题:变态跳台阶

变态跳台阶1 题目描述2 分析及题解2.1 递推法2.2 概率法 1 题目描述   一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 2 分析及题解 2.1 递推法   和之前一样可递推出公式:f(n)=f(n-1)+f(n-2)+…+f(1)+1   f(n-1)=f(n-2)+f(n-3)+…+f(1)+1 得到:   f(n)=2*f(n-1) 所以:f(n) = 2^(n-1) class Solution: def jumpFl

郑德帅 415

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【剑指Offer学习】【题9:变态跳台阶】

题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路: 程序: import java.util.Scanner; public class subject9 { public static int JumpFloorII(int target) { int result = 1; if(target == 0 |...

CheDaqian的博客 187

剑指offer 刷题笔记JZ9变态跳台阶

class Solution { public: void _jumpfloor(int rec,int goal,int* count){ if(rec > goal) return; if(rec == goal) { *count = *count+1; return; } for(int i=1;i<=goal;i++) {

Wangsir1122的博客 206

Java版剑指offer编程题第9题--变态跳台阶

        跟learnjiawa一起每天一道算法编程题,既可以增强对常用API的熟悉能力,也能增强自己的编程能力和解决问题的能力。算法和数据结构,是基础中的基础,更是笔试的重中之重。 不积硅步,无以至千里; 不积小流,无以成江海。 文章目录题目描述我的想法解题方法1代码测试总结参考文献更多 题目描述 一只青...

learnjiawa的博客 378

剑指offer 第9题 变态跳台阶

描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路: f(n) = f(n-1) + f(n-2) + ... + f(1) + f(0) f(n-1) = f(n-2) + ... + f(0) 所以f(n) = f(n - 1) + f(n - 1) 代码: class Solution: def...

qq_38650545的博客 143

《剑指offer》刷题笔记:9-变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 解题思路 易知 f(n) = f(n-1)+f(n-2)+……+f(1) f(n-1) = f(n-2)+……+f(1) 两式相减得 f(n) = 2f(n-1) f(1) = 1 f(2) = 2 代码实现 public class Solution { public int JumpFloorII(int target) { if(target &lt

Yellow49的博客 182

牛客网剑指offer刷题Java版-9变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析: f(n-1) = f(0) + f(1)+f(2)+f(3) + ... + f((n-1)-1) = f(0) + f(1) + f(2) + f(3) + ... + f(n-2) f(n) = f(0) + f(1) + f(2) + f(3) + ... +...

qq_42632671的博客 165

剑指offer刷题记录9——变态跳台阶

题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。   跳上n级台阶的问题可以化成从第n-1,n-2,...,1,0级台阶直接跳上来的跳法加在一起,最终所有跳法的原点一定是从第0级台阶开始跳,所以循环的终止条件为target&gt;=0 解法一: public class Solution { public...

虚怀若谷 203

剑指offer编程题(JAVA实现)——第9题:变态跳台阶

/** * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。 * 求该青蛙跳上一个n级的台阶总共有多少种跳法。 * */ public class Test09 { //找规律为1,2,4,8…… public static int JumpFloorII(int target) { int tmp=1; if(target==1) { ...

JZ 9627

一只青蛙跳向三个台阶_Java版剑指offer编程题第9题--变态跳台阶

跟learnjiawa一起每天一道算法编程题,既可以增强对常用API的熟悉能力,也能增强自己的编程能力和解决问题的能力。算法和数据结构,是基础中的基础,更是笔试的重中之重。不积硅步,无以至千里;不积小流,无以成江海。题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。我的想法本题是上一题的升级版,青蛙的跳的方式不再局限于2种,而是n...

weixin_28687807的博客 152

剑指offer_C++_一天一题_9_小青蛙变态跳台阶

今日碎碎念: 雨快停了~ 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 知识点 贪心算法 a.建立数学模型来描述问题; b.把求解的问题分成若干个子问题; c.对每一子问题求解,得到子问题的局部最优解; d.把子问题的解局部最优解合成原来解问题的一个解。 解题分析 跟上一题不贪心的小青蛙比,这只像青蛙的最后一跳就可能性更多种多样啦。不仅仅是1或者2,也可能是其他的~这个时候我们就可以枚举 还是一样的操作啊 代码实现 class S

qq_40662074的博客 303
上一篇: 剑指offer_第8题_跳台阶
下一篇: 牛客网_剑指Offer_Python实现_更新中
Datawhale
Datawhale 领域专家: 物联网技术领域 领域专家: 物联网技术领域
博客等级 码龄8年 8902粉丝 1079原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值