代码随想录算法训练营第33天—动态规划01 | ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

动态规划理论基础

https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html
视频:https://www.bilibili.com/video/BV13Q4y197Wg

  • 主要题型
    • 动规基础题
      • 斐波那契数列
    • 背包问题
    • 打家劫舍
    • 股票问题
    • 子序列问题
  • 解题五步走
    • dp数组及下标的含义
    • 递归公式
    • dp数组的初始化
    • 遍历顺序
    • 打印dp数组(用于debug)

509. 斐波那契数

https://programmercarl.com/0509.%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0.html
视频:https://www.bilibili.com/video/BV1f5411K7mo

  • 考点
    • 动规
  • 我的思路
    • 不自觉地就用动规五部曲写出来了
  • 视频讲解关键点总结
    • 动规五部曲
    • 确定dp数组及其下标含义
      • dp为斐波那契数列,dp[i]为第i个斐波那契数
    • 递归公式
      • dp[i] = dp[i - 1] + dp[i + 1]
    • 初始化
      • dp[0] = 0
      • dp[1] = 1
    • 遍历顺序
      • 前到后
    • 打印
      • 本题无须debug
  • 我的思路的问题
  • 代码书写问题
  • 可执行代码
class Solution:def fib(self, n: int) -> int:fib_list = [0, 1]if n == 0:return 0if n == 1:return 1for i in range(2, n + 1):fib_list.append(fib_list[i - 2] + fib_list[i - 1])return fib_list[n]

70. 爬楼梯



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

伟大音乐家的伟大不朽作品,贝多芬一生的音乐作品全集

一、音乐描述 贝多芬一生创作题材广泛,重要作品包括9部交响曲、1部歌剧、32首钢琴奏鸣曲、5首钢琴协奏曲、多首管弦乐序曲及小提琴、大提琴奏鸣曲等。因为其对古典音乐的重大贡献,以及对奏鸣曲式和交响曲套曲结构的发展和创新,而被后世尊称为…

【比较mybatis、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp操作数据】操作批量新增、分页查询(四)

orm框架使用性能比较 比较mybatis、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp操作数据 环境: idea jdk17 spring boot 3.0.7 mysql 8.0测试条件常规对象 orm 框架是否支持xml是否支持 Lambda对比版本编码方式mybatis☑️☑️3.5.4lambda xml 优化sq…

【记录31】elementUI el-tree 虚线、右键、拖拽

父组件 <eltree :treeData"treeData"></eltree>import eltree from "../../components/tree.vue"; export default {name: ,components: { // org_tree ,eltree},watch: {},data() {return {orgFormchoose: {},orgForm: { type: 0, limits: 1…

Python乱码恢复

比如说网页是ISO-8859-1编码&#xff0c;然后requests得到的是乱码&#xff0c; 那么这样操作就可以还原数据&#xff1a;res.text.encode(‘ISO-8859-1’).decode(‘utf-8’) 乱码恢复网站&#xff0c;可以知道是什么编码http://www.mytju.com/classCode/tools/messyCodeReco…

CRC8/CRC16/CRC32全面对比详解

在现代数据通信和存储技术中&#xff0c;CRC&#xff08;Cyclic Redundancy Check&#xff0c;循环冗余校验&#xff09;算法作为一种关键的错误检测机制&#xff0c;在确保数据完整性方面扮演着不可或缺的角色。该算法基于一个特定的生成多项式对原始数据块进行模2除法运算&am…

Stable Diffusion——Animate Diff一键AI图像转视频

前言 AnimateDiff 是一个实用框架&#xff0c;可以对文本生成图像模型进行动画处理&#xff0c;无需进行特定模型调整&#xff0c;即可为大多数现有的个性化文本转图像模型提供动画化能力。而Animatediff 已更新至 2.0 版本和3.0两个版本&#xff0c;相较于 1.0 版本&#xff…

Golang关键字defer

# Golang 关键字 defer 的用法和原理## 什么是 defer在 Golang 中&#xff0c;有一个特殊的关键字 defer&#xff0c;它可以让一个函数或者语句在当前函数返回之前执行。defer 的常见用途有&#xff1a;- 关闭文件、数据库连接、网络连接等资源 - 解锁互斥锁 - 捕获和处理异常 …

C#高级:Winform桌面开发中DataGridView的详解

一、每条数据增加一个按钮&#xff0c;点击输出对应实体 请先确保正确添加实体的名称和文本&#xff1a; private void button6_Click(object sender, EventArgs e) {//SQL查询到数据&#xff0c;存于list中List<InforMessage> list bll.QueryInforMessage();//含有字段…

代码思想录-动态规划(509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯)

509. 斐波那契数 class Solution { public:int fib(int n){if (n0) return 0;if (n1) return 1;vector<int> dp(n1, 0);dp[0] 0;dp[1] 1;for (int i2; i<n1;i){dp[i] dp[i-1] dp[i-2];}return dp[n];} }; 70. 爬楼梯 class Solution { public:int climbStairs(…

Linux删除Mysql

//rpm包安装方式卸载 查包名&#xff1a;rpm -qa|grep -i mysql 删除命令&#xff1a;rpm -e –nodeps 包名//yum安装方式下载 1.查看已安装的mysql 命令&#xff1a;rpm -qa | grep -i mysql 2.卸载mysql 命令&#xff1a;yum remove mysql-community-server-5.6.36-2.el7.x86…

E8-完善数据库备份的存储过程

起因 我们公司E8的数据用的是SQL Server 2012在我把从生产环境下复制来的数据库备份文件恢复到本机测试环境里时&#xff0c;被提示硬盘空间不足。备份文件3G多&#xff0c;硬盘剩余空间10G左右。于是我去生产环境看了一下数据库的物理文件&#xff0c;就是扩展名是mdf文件&am…

【Shell脚本】读取大量DDR寄存器的值

功能&#xff1a;使用shell脚本读取大量DDR寄存器的值&#xff1a; # Function: Read the registers&#xff1a; # registers: # 0x2000000 ~ 0x2000FFC # 0x2001000 ~ 0x2001034 # 0x440000 ~ 0x4403AC # 0x400000 ~ 0x42B030 # 0x2010000, 0x2010400Step1. 创建一个包含了所…

tomcat安装及jdk安装

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP 程序的首选。对于一个初学者来说&#xff0c;可以这样认为&#xff0c;当在一台机器上配…

C++ Qt开发:运用QThread多线程组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍如何运用QThread组件实现多线程功能。 多线程…

PHP实现数据爬虫

一&#xff1a;什么是爬虫 网络爬虫&#xff08;又被称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;经常被称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字…

mac报错:zsh:command not found: brew

1、基本概述&#xff1f; 在使用brew安装程序的时候MAC提示&#xff1a; zsh:command not found: brew 本质就是brew没有安装&#xff0c;这个命令与linux系统中的yum命令类似。 使用的环境说明&#xff1a; 虚拟机版本&#xff1a;VMware Workstation 17 Pro mac os Ventu…

TinyEMU编译与使用(一)

TinyEMU编译与使用&#xff08;一&#xff09; 1 介绍2 准备工作3 编译TinyEMU3.1 安装依赖库3.2 编译 4 运行TinyEMU4.1 在线运行4.2 离线运行 5 共享目录5.1 修改root_9p-riscv64.cfg5.2 启动TinyEMU5.3 执行挂载命令 6 TinyEMU命令帮助 1 介绍 原名为riscvemu&#xff0c;于…

Maven【5】在IDEA环境中配置和使用Maven

文章目录 【1】创建父工程1.创建 Project2.开启自动导入 【2】配置 Maven 信息【3】创建 Java 模块工程1.创建2.maven命令操作 【4】创建 Web 模块工程1.创建模块2.Web设定 【1】创建父工程 1.创建 Project 按照idea工程的布局&#xff0c;project相当于父工程&#xff0c;里…

Linux 如何排查网络问题

目录 确认基本网络连接 查看网络接口状态 检查默认网关和路由表 防火墙设置 查看网络连接状态 检查主机名和域名解析 查看系统日志 网络流量实时监控 确认基本网络连接 使用ping命令检查是否能够成功连接到互联网或目标主机。例如&#xff1a; ping www.google.com 查…

javascript中的强制类型转换和自动类型转换

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;前端泛海 景天的主页&#xff1a;景天科技苑 文章目录 1.转换函数2.强制类型转换&#xff08;1&#xff09;Number类型强转&…