【前端】自学基础算法 -- 24.动态规划-变态青蛙蛙跳台阶

embedded/2025/1/15 8:32:16/

动态规划-变态青蛙跳台阶

变态青蛙跳台阶
一只青蛙,一次只能跳1级台阶、2级台阶、3级台阶、…、n级台阶
问:这只青蛙跳上n级台阶,有多少种跳法

递推公式:
f(n) = f(n -1) + f(n-2) + f(n-3) + … + f(1) + f(0)

实现方法

还是基于斐波那契数列方法

/*** 变态青蛙跳台阶* 一只青蛙,一次只能跳1级台阶、2级台阶、3级台阶、...、n级台阶* 问:这只青蛙跳上n级台阶,有多少种跳法*/// f(n) = f(n -1) + f(n-2) + f(n-3) + ... + f(1) + f(0)function jump(n) {if (n <= 0) return -1if (n === 1) return 1if (n === 2) return 2let result = 0for (let i = 1; i < n; i++) {result += jump(n - i)}return result + 1 // +1表示从0级台阶直接跳上去的情况
}/*** 1 1 1 1* 1 1 2* 1 2 1* 1 3* 2 1 1* 2 2* 3 1* 4*/
console.log(jump(4)) // 8

http://www.ppmy.cn/embedded/154063.html

相关文章

Thc-Ipv6攻击工具包 全参数详细解析!Kali Linux入门教程!黑客渗透测试!

简介 用于测试 IPv6 和 ICMPv6 协议弱点的攻击工具包。 其中一些工具包括&#xff1a; alive6&#xff1a;有效的活体扫描。denial6&#xff1a;尝试针对某个对象进行一系列拒绝服务测试目标。detector-new-ip6&#xff1a;检测加入网络的新 ip6 设备。dnsdict6&#xff1a;…

Visual Studio Code (VSCode)为当前项目设置保存时自动格式化

在 Visual Studio Code (VSCode) 中&#xff0c;你可以为单个项目设置特定的配置&#xff0c;而不会影响全局设置。这可以通过创建项目级别的设置文件来实现。以下是具体步骤&#xff1a; 为当前项目设置保存时自动格式化 打开命令面板&#xff1a; 使用快捷键 CtrlShiftP&…

本地服务器Docker搭建个人云音乐平台Splayer并实现远程访问告别烦人广告

前言 大家好&#xff01;今天我要给大家分享的是如何在Ubuntu上用Docker快速搭建高颜值无广告的某抑云音乐播放器Splayer的详细流程&#xff0c;并且结合cpolar内网穿透工具实现远程访问。如果你是音乐爱好者&#xff0c;经常需要在外办公或旅行&#xff0c;这个教程绝对能让你…

基于springboot果蔬供应链信息管理平台

基于Spring Boot的果蔬供应链信息管理平台是一种集成了先进信息技术和果蔬供应链管理理念的综合性系统。 一、背景与意义 随着人们生活水平的提高和对健康饮食的重视&#xff0c;果蔬市场需求不断增长。然而&#xff0c;果蔬供应链涉及多个环节&#xff0c;包括种植、采摘、加…

面向对象分析与设计Python版 创建者原则与信息专家原则

文章目录 前言一、创建者原则二、信息专家原则 前言 通用职责分配软件原则 GRASP&#xff08;General Responsibility Assignment Software Principles&#xff09;&#xff0c;是一组用于指导软件设计&#xff0c;尤其是在面向对象设计中的原则。包括以下九个主要原则&#x…

【STM32-学习笔记-4-】PWM、输入捕获(PWMI)

文章目录 1、PWMPWM配置 2、输入捕获配置3、编码器 1、PWM PWM配置 配置时基单元配置输出比较单元配置输出PWM波的端口 #include "stm32f10x.h" // Device headervoid PWM_Init(void) { //**配置输出PWM波的端口**********************************…

FFmpeg硬件解码

使用FFmpeg进行硬件解码时&#xff0c;通常需要结合FFmpeg的API和硬件加速API&#xff08;如CUDA、VAAPI、DXVA2等&#xff09;。以下是一个简单的C代码示例&#xff0c;展示如何使用FFmpeg进行硬件解码。这个示例使用了CUDA作为硬件加速的后端。 1. 安装FFmpeg和CUDA 确保你…

Python脚本自动发送电子邮件

要编写一个Python脚本来自动发送电子邮件&#xff0c;你可以使用smtplib库来处理SMTP协议&#xff0c;以及email库来构建邮件内容。 安装必要的库 通常情况下&#xff0c;smtplib和email库是Python标准库的一部分&#xff0c;因此不需要额外安装。如果你使用的是较旧的Python版…