台阶专题

牛客《剑指Offer》 变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 根据 普通的跳台阶可以总结出 f(n) = f(n-1) + f(n-2) +f(n-3) + 。。。。+ f(1) +1 不妨设 f(0) = 1 , 则易得 class Solution {public:int jumpFloorII(int n

牛客《剑指Offer》 跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 递归思想,n阶梯子走法等于n-1 加上n-2的。 class Solution {public:int jumpFloor(int number) {if(number==1) return 1;if(number==2) return 2;return jumpFl

跳台阶(动态规划/斐波那契变形)

跳台阶 链接:https://www.nowcoder.com/acm/contest/90/A来源:牛客网 题目描述 小明在坐景驰科技研发的无人车到达了目的地。 景驰科技(JingChi.ai)是一家由人工智能技术驱动、以无人驾驶技术为核心的智能出行公司。它将打造面向中国市场的全无人驾驶。 从无人车下来以后,小明看到了一个长长的楼梯。 有一个n级台阶的楼梯,小明一次可以向上跳1

蓝桥杯 《第39级台阶》

小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题:(奇葩的想法...)  如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?  请你利用计算机的优势,帮助小明寻找答案。 要求提交的是一个整数。 注意:不要提交解答过程,

青蛙跳台阶与汉诺塔问题

hello,各位小伙伴们上次我们复习了C语言小tip之函数递归,这次我们来使用函数递归来完成青蛙跳台阶和汉诺塔问题! 青蛙跳台阶问题 青蛙跳台阶问题:一只青蛙跳n阶台阶,一次可以跳1阶或者两阶,问有多少种情况! 如果跳1节台阶的话,只有一种情况,如果跳2节台阶的话,有两种情况一次跳一阶,或者一次性跳两阶。如果跳3节台阶的话,可以选择一次跳一节,或者第一次跳一节,第二次跳两节或者第一次跳两节,

[Algorithm][综合训练][合唱团][跳台阶扩展问题][矩阵最长递增路径]详细讲解

目录 1.合唱团1.题目链接2.算法原理详解 && 代码实现 2.跳台阶扩展问题1.题目链接2.算法原理详解 && 代码实现 3.矩阵最长递增路径1.题目链接2.算法原理详解 && 代码实现 1.合唱团 1.题目链接 合唱团 2.算法原理详解 && 代码实现 解法:动态规划 状态表示: f[i][j]:从[i, j]中挑选,挑j个人,最后一个人必选,此时的最大

第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!

package org.bluebridge.topics;/** 第39级台阶小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。* */p

软考——再上一个台阶

为期两个月的软考终于告一段落了,我也为自己这两个月的努力交出一份满意的答卷,虽然不知道结果如何,但是那已经不重要了,重要的是知识我已经学到了。这两个月不能说每天都全力以赴,但是每天都没有落下,多少会看一点,到最后的真题阶段,那真是每天一讲,每日一练啊,说实话,还挺怀念那种氛围的,一种充满正能量的氛围。     这段时间感觉做的不是很好的是没有及时的更新博客,也就是颗粒归仓这个阶段没有做好

【九度】题目1388:跳台阶 【LeetCode】Climbing Stairs

1、【九度】题目1388:跳台阶 时间限制:1 秒内存限制:32 兆特殊判题:否提交:2435解决:995 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n<=70)。 输出: 对应每个测试案例, 输出该青蛙跳上一个n级的台

[Algorithm][综合训练][求最小公倍数][跳台阶][最长回文子串]详细讲解

目录 1.求最小公倍数1.题目链接2.算法原理详解 && 代码实现 2.跳台阶1.题目链接2.算法原理详解 && 代码实现 3.最长回文子串1.题目链接2.算法原理详解 && 代码实现 1.求最小公倍数 1.题目链接 求最小公倍数 2.算法原理详解 && 代码实现 最小公倍数:两数乘积 / 最大公因数最大公因数:辗转相除法 原理:GCD(a, b) == GCD(

剑指offer:青蛙跳台阶I 青蛙跳台阶 II

I 题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路: 斐波那契数列变体,关键是找出递推公式。 假设跳n级台阶有f(n)中跳法,容易发现f(1)=1,f(2)=2; n>2时,如果最后一次跳一级台阶,一共有f(n-1)种跳法,如果最后一次跳两级台阶,一共有f(n-2)种跳法。即f(n)=f(n-1)+f(n

Python实现台阶问题/斐波纳挈

在Python中实现台阶问题(也常被称作爬楼梯问题)和斐波那契数列(Fibonacci sequence)是编程中的经典问题。虽然这两个问题在表面上看起来不同,但它们之间有着紧密的联系,因为台阶问题的一种常见解法就是使用斐波那契数列。 台阶问题 假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 这个问题可以通过递归或动态规划

3154. 到达第 K 级台阶的方案数

Powered by:NEFU AB-IN Link 文章目录 3154. 到达第 K 级台阶的方案数题意思路代码 3154. 到达第 K 级台阶的方案数 题意 给你有一个 非负 整数 k 。有一个无限长度的台阶,最低 一层编号为 0 。 Alice 有一个整数 jump ,一开始值为 0 。Alice 从台阶 1 开始,可以使用 任意 次操作,目标是到达第 k 级台阶

青蛙跳台阶问题的算法以及优化问题

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法? 在遇到这种题目若是没有具体的思路之前,我们可以先列出前面几项的结果sum: 当 n = 1 时,青蛙仅有直接跳上一级台阶这种跳法,故 sum = 1; 当 n = 2 时,青蛙可以先跳 上 1 级,然后再跳 上 1 级到达2级台阶,共有2种跳法;若青蛙直接跳 2 级台阶,那么有1种跳法,从而 su

斐波那契数列——台阶问题实现

问题:有个n阶台阶,一次可以走一个台阶,也可以走两个台阶,走到n阶台阶有多少种走法。   分析:遇到这种问题我们很容易想到递归的方法,但是这些数据的之间的关系还需要我们找到一个通项公式。可以采用归纳总结方法找出规律,不难发现这里的规律是a(n)=a(n-1)+a(n-2),算法的背后都有数学理论支撑,所以这里的数学理论就是斐波那契数列。斐波那契数列( sequence),又称黄金分割数列、

上台阶(信息学奥赛一本通-T1190)

【题目描述】 楼梯有n(71>n>0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编程计算共有多少种不同的走法。 【输入】 输入的每一行包括一组测试数据,即为台阶数n。最后一行为0,表示测试结束。 【输出】 每一行输出对应一行输入的结果,即为走法的数目。 【输入样例】 1 2 3 4 0 【输出样例】 1 2 4 7 【源程序】 #include<cstdio>

5、斐波那契数列、跳台阶

题目: 斐波那契数列 描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 <?phpfunction Fibonacci($n){if($n<=0){$f1 = 0;}else if($n==1||$n==2){$f1 = 1;}else{$f1 = 1; $f2 = 1;while ($n-- > 2) {$f1 += $f2;$f2 = $

洛谷题解 - P1192 台阶问题

目录 题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示代码 题目描述 有 N N N 级台阶,你一开始在底部,每次可以向上迈 1 ∼ K 1\sim K 1∼K 级台阶,问到达第 N N N 级台阶有多少种不同方式。 输入格式 两个正整数 N , K N,K N,K。 输出格式 一个正整数 a n s ( m o d 100003 ) ans

剑指Offer-斐波那契数列以及跳台阶问题

剑指Offer-斐波那契数列以及跳台阶问题 斐波那契数列: 1,1,2,3,5…… 规律:f(n) = f(n-1) + f(n-2) 题目描述: 输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 分析:题目很简答,递归也行非递归也行,代码如下: #include<iostream>#include<algorithm>using namespace std;/*int

【台阶问题】

目录 问题: 思路: 回溯-分支限界法 知识点 目标函数(分支结束的情况): n==0 约束函数(截断不合理的分支): num < 2 、 i >= n-i && num == 0 限界函数(阶段不最优的分支):没有 回溯法代码: 问题: 一个小孩手中有 N 块正方形的积木,他总是想不同的方法来搭建各种 不同的楼梯。他搭建的楼梯必须满足如下条件:

[笔试训练](三十三)097:跳台台阶扩展问题098:包含不超过两种字符的最长子串099:字符串的排列

目录 097:跳台台阶扩展问题 098:包含不超过两种字符的最长子串 099:字符串的排列 097:跳台台阶扩展问题 题目链接:跳台阶扩展问题_牛客题霸_牛客网 (nowcoder.com) 题目: 题解: 规律题: 1.跳上n级台阶的跳法等于前面1~(n-1)级台阶跳法的总和+1。 2.跳上n级台阶的跳法等于2^(n-1)。 //1.#include <io

今日刷三题(day13):变态跳台阶+包含不超过两种字符的最长字串+字符串的排列

题目一:变态跳台阶 题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。 输入输出描述: 输入:3                输出:4 输入:1                输出:1 题目解析: 动态规划思想。 ①  跳上n级台阶,可以站在n-1级跳1级上去,站在n-2级跳2级上去,站在n-3及

【LeetCode】70. Climbing Stairs【牛客网】变态跳台阶

今天在LeetCode做到一个动态规划的题,之前在牛客网做过一道“变态跳台阶”的题,猛一看还以为是一个意思,牛客网那边能AC,LeetCode这边却不能AC,很奇怪,其实题目有细微的差别, 这两题难道不是一个意思吗? 1、跳台阶 题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种方法? 与LeetCode Problem No.70 Cl

算法—青蛙跳台阶问题汇总

1. 第一题(引子):输出菲波那切数列的第N项。斐波那契数列含义(百度百科):指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)递归方式:public static int fibnacci(int n){if (n==0){return 0;

斐波那契数列及青蛙跳台阶问题

题目1: 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。 斐波那契(Fibonacci)数列定义如下: f(n)=⎧⎩⎨⎪⎪0,1,f(n−1)+f(n−2),n=0n=1n>2 \begin{equation}f(n)=\left\{\begin{array}{cc}0, &n=0\\1, &n=1\\f(n-1)+f(n