python 青蛙跳台阶问题

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进更高效! 阅读详情

青蛙跳台阶

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

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

示例 1:

输入:n = 2
输出:2
示例 2:

输入:n = 7
输出:21
示例 3:

输入:n = 0
输出:1

题解

在这里插入图片描述

class Solution:
    """
    解题思路: 递归算法
    1.当台阶数为n对应的走法有f(n)种: n-->f(n), n-1-->f(n-1), n-2-->f(n-2)......f(2)-->2, f(1)-->1
    2.我们假设分两种情况走
        1.当第一步走一个台阶 有k1种走法
        2.当第一步走两个台阶 有k2中走法
        3.f(n) = k1 + k2
        4.我们发现当第一步走一个台阶已经确定的情况下:
            1.k1种走法就等于 f(n-1) 种走法
        5.我们发现当第一步走两个台阶已经确定的情况下:
            1.k2种走法就等于f(n-2)种走法
        6.即得到递推公式
python每日一题【剑指 Offer 10- II. 青蛙台阶问题 阅读详情

相关推荐

Python3-[9]面试题10-II 青蛙台阶问题(动态规划/Fibonacci数列/大数问题

面试题10-II 青蛙台阶问题题目解题思路代码 题目 一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 P.S. 题目来源于leetcode,这是我的题解 解题思路 是面试题10-1-Fibonacci数列和70.楼梯的结合。 走到第n梯的总的方法数:因为只能一次1步或2步,则走到第N梯->从第N-1梯走一步到达 或 从第N-2梯到达。

Giotto_Ven的博客 829

一只青蛙一次可以_青蛙台阶 递归步骤

:Author: Mr.Liu :Create: 2020/7/4 17:29 :Github: https://XXXXXXXX Copyright (c) 2020,Mr.Liu Group All Rights Reserved.题意说明:一只青蛙可以一次 1台阶或一次 2台阶,例如: 上第一级台阶只有一种法:直接 1 级即可. 上两级台阶,有两种法: 每次 1 级,...

weixin_33785828的博客 895

Python解决N级台阶走法问题

对于第i级台阶,我们可以从第i-1台阶走一步到达,也可以从第i-2台阶走两步到达。因此,到达第i级台阶的走法数量为dp[i-1]+dp[i-2]。我们可以定义一个长度为N+1的数组dp,其中dp[i]表示到达第i级台阶的不同走法的数量。根据递推关系,我们可以使用循环来计算dp数组的值,从dp[2]开始到dp[N],最后返回dp[N]即可。假设有N级台阶一个每次可以走1级或2级,问有多少种不同的走法可以到达第N级台阶?因此,对于一个有5级台阶的情况,有8种不同的走法可以到达第5级台阶

Meta_C的博客 1134

JZ9-变态台阶

【题目描述】 一只青蛙一次可以1台阶,也可以2级……它也可以上n级。求该青蛙一个n级的台阶总共有多少法。 【官方解法】 1.暴力解法 设f[i] 表示:当前道第 i 个台阶的方法数,那么f[n]就是所求答案。 假设现在已经到了第 n 个台阶,那么前一步可以从哪些台阶到达呢? 如果上一步 1 步到达第 n 个台阶,说明上一步在第 n-1台阶。已知到第n-1台阶的方法数为f[n-1] 如果上一步 2 步到达第 n 个台阶,说明上一步在第 n-2台阶。已知到第n-2台阶

zhangmumu_的博客 445

青蛙台阶问题

题目:青蛙台阶,n个台阶青蛙一次可以一个台阶,一次也可以两个台阶,问这只青蛙到第n个台阶,有多少法。分析:递归的本质是把大事化小,把一个复杂的问题层层转化为一个与原问题相似但规模较小的问题来求解。当台阶数为1时,青蛙只需一次即可(1)当台阶数为2时,有两种法,分别是(11),(2)当台阶数为3时,有三种法,分别是((11),1),((2),1),((1),2

m0_63031773的博客 495

《剑指Offer》 -- 青蛙台阶问题python实现)

题目: 一只青蛙一次可以1台阶,也可以2级。求该青蛙一个n级的台阶总共有多少法? 分析: 如果只有1台阶,那显然只有一种法。如果有2台阶,那就有两种法:一种是分两次每次1级;另一种就是一次两级。将n级台阶时的法看成n的函数,记为。当n>2时,第一次的时候就有两种选择:一是第一次只1级,此时法数目等于后面剩下的n-1台阶...

Fitz的博客 3169

面试题10 II, 青蛙台阶问题(Python3) 递归

一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n级的台阶总共有多少法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 题目分析 这也是一个具有递推性质的题。设第n有f(n)中法,则递推关系为: f(n)=f(n-1)+f(n-2) 可以理解成f(n)中法中每一种法的最后一要么是1,要么是2。如果是1,则前(..

NLOS的博客 1308

剑指 Offer 10- II. 青蛙台阶问题(java+python)

java+python

江浸月的博客 370

剑指 Offer 10- II. 青蛙台阶问题-Python题解

一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 提示: 0 <= n <= 100 class Solution: def numWays(self, n: int) -> int: # 青蛙在第0层台阶,有1

AiBigData的博客 383

python青蛙台阶问题_面试题10- II. 青蛙台阶问题

一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21解题思路动态规划我们根据台阶来推出子问题上n台阶的前提是上n-1或者n-2,所以我们要求得N台阶法,只要知道N-...

weixin_39992831的博客 585

python一只青蛙一次可以_「剑指Offer」 08. 青蛙台阶问题

1、题目描述一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:12、C++class Solution {public: int numWay...

weixin_29280657的博客 241

剑指 Offer 10- II. 青蛙台阶问题 Python

一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 提示: 0 <= n <= 100 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof

朋克归零膏的博客 300

【剑指Offer】10- II. 青蛙台阶问题 解题报告(Python & C++)

【剑指Offer】台阶 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描述: 一只青蛙一次可以1台阶,也可以2级。求该青蛙一个n级的台阶总共有多少法。 Ways 其实就是费布拉奇数列的翻版。只有一个台阶时有1法,有两个台阶时有2法。...

负雪明烛 775

python青蛙台阶问题_LeetCode | 面试题10- II. 青蛙台阶问题【剑指Offer】【Python】...

LeetCode 面试题10- II. 青蛙台阶问题【剑指Offer】【Easy】【Python】【动态规划】问题一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21提示:0 &l...

weixin_34151001的博客 336

python 剑指 Offer 10- II. 青蛙台阶问题

一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n级的台阶总共有多少法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n = 0 输出:1 提示: 0 <= n <= 100 该问题解法思路与斐波那契数列一样。在到最后一个台阶的时候,有两种法,F(n) = F(n-1) + F(n-2) ..

qq_33655102的博客 291

剑指offer 10Ⅱ - 青蛙台阶问题 - python

题目描述 一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n = 0 输出:1 提示:0 <= n <= 100 # -*- coding:utf-8 -*- class Solution: def jumpFloor(se

Forlogenの解忧杂货铺 275

剑指Offer(Python)—— 青蛙台阶问题(简单)

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

m0_61661179的博客 5万+

面试题10- II. 青蛙台阶问题

""" titel:面试题10- II. 青蛙台阶问题 introduce: 一只青蛙一次可以1台阶,也可以2台阶。求该青蛙一个 n 级的台阶总共有多少法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 提示: 0 <= n...

hanxuwerewolf的博客 175
上一篇: python 斐波那契数列
下一篇: python 从尾到头打印链表
一叶知秋的BLOG
博客等级 码龄8年 99粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶知秋的BLOG

创作不易 请多多关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值