题目说明 A从底部上楼梯时,B从该楼梯的顶部往下走。 每次不一定只走 1 级,最多可以一次跳过 3 级(即直接前进 4 级)。 但无论走多少级,1 次移动所需时间不变。 两人同时开始走,求共有多少种“两人最终同时停在同一级”的情况 (假设楼梯宽度足够,可以相互错开,不会撞上。另外,同时到达同一
题目:剑指 Offer 10- II. 青蛙跳台阶问题 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n
剑指 Offer 10- II. 青蛙跳台阶问题 难度:简单 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例
1.求n的阶乘 #include<stdio.h> #include<stdlib.h> //n的阶乘 int f(int n) { if(1==n) { return 1; } return n*f(n-1); } int main() { int n; while(scanf("%d",&n)!=EOF) { printf("%d!=%d\n",n,f(n)); } system("pa
题目描述 小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法? 输入描述: 输入包含一个整数n (1 ≤ n ≤ 30) 输出描述: 输出一个整数,即小乐乐可以走的方法数。 输入 2 输出 2 代码: #include<stdio.h> int main(void){
Task 08: 完成以下三个题目并打卡(1天) 062 不同路径 070 爬楼梯 078 子集 062 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少
import java.util.*; public class Solution { /** * * @param n int整型 总台阶数量 * @return int整型 */ //有 n 个台阶,你一次能走 1 个或者 2 个台阶,那么请问,走完这 n 个台阶共有几种方式? //备忘录模式 public int stairs (int n) {
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n = 0 输出:1 提示: 0 <= n <= 100 来源:力扣
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路: 1、我们先来找规律 上0个台阶:不用上 1种方法 上1个台阶:上一个 1种方法 上2个台阶:上一个上两次,或者上两个 2种方法 上3个台阶:12 111 21 3 4种方法 上4
//青蛙跳阶问题 //n个台阶 //1次可以跳一个台阶,也可以跳两个台阶 //这只青蛙要跳到第n个台阶,有多少种跳法 //因为每次只能跳一阶或两阶 //把第n阶的次数看成f(n)函数的话 //第一次跳1阶,则有f(n-1)种跳法 //第一次跳2阶,则有f(n-2)种跳法 //这里n>2 //这就形成了一个斐波那契数
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 示例1 输入 3 返回值 4 解题思路 在剑指Offer的跳台阶中,如果下一步是n阶台阶,则只有两种可能,一种是在n-1阶台阶,二种是在n-2阶台阶,因此F[n]=F[n-1]+F
1.x的平方根 //实现 int sqrt(int x) 函数。 // // 计算并返回 x 的平方根,其中 x 是非负整数。 // // 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 // // 示例 1: // // 输入: 4 //输出: 2 // // // 示例 2: // // 输入: 8 //输出: 2 //说明: 8 的平方根
题目地址:跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 64M,其他语言128M 题目示
第9题 变态跳台阶 题目描述 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 class Solution { public: int jumpFloorII(int n) { if (n == 0 || n == 1) return 1; return pow(2
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 链接:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof 1. dp 思路:对于每一
台阶问题: 假设现在面前有一个n阶的台阶,一只青蛙每次可以爬1阶或者2阶台阶,那么这只青蛙有多少种不同的方法可以爬完这n阶台阶呢? 注意,n为正整数。 示例1:输入:2, 输出:2, 解释: 一种是 1+1 , 一种是2 示例2:输入:3,输出:3 解释:1+1+1, 1+2, 2+1 初始代码: class Solution { public int climbS
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n = 0 输出:1 解: 动态规划: 设想 青蛙要
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 实现: 1. 递归:踏上第n台阶之前,可能位于 第n-1个台阶 或 第n-2个台阶 2. 备忘map:缓存已经算过的记录,减少子问题个数,降低时间复杂度
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2 示例 2: 输入:n = 7 输出:21 示例 3: 输入:n = 0 输出:1 题解 动态规划 思
------------------------------- - 涉及内容: - 斐波那契表达式,动态规划算法 - 2020/10/15 题目如下: 注:此问题官方有更优解 ---------------------------------------------------- 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种
一个台阶总共有n级,如果一次可以跳1级,也可以跳2级...,也可以跳上n级,此时跳上一个n级的台阶总共有多少种跳法 递归函数的返回值,2*f(n-1),是数学归纳出来的 int f(int n) { if(n==0) return 0; else if(n==1) return 1; else return
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法 1 public class test5 { 2 // 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 3 // f(1)=1
这个题目需要注意,其实就是斐波那契数列。 Java版本 package zr.test; /** * @author ZR * @Classname Num_10_2 * @Description 青蛙跳台阶 * @Date 2020/7/16 17:00 */ public class Num_10_2 { public static void main(String[] argv) { } public static
第22题: 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。(来自LeetCode) 1、首先可以使用暴力求解,n对括号里面总共有n*2个空间来存储括号; 可以将所有组合全部列举出来,然后筛选其中合法的括号。 2、当然也可以使用递归来生成合法的括
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 跳上n级台阶的跳法等于跳上n-1台阶的跳法+n-2台阶的跳法,斐波拉契数列 f(1)=1 f(2)=2 class Solution { public: /* 斐波拉契数列 跳到n的方法数