leetcode_动态规划/递归 509. 斐波那契数
509. 斐波那契数
- 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
- F(0) = 0,F(1) = 1
- F(n) = F(n - 1) + F(n - 2),其中 n > 1
- 给定 n ,请计算 F(n) 。
class Solution(object):def fib(self, n):""":type n: int:rtype: int"""if n < 2:return nf = [0] * (n + 1)f[0] = 0f[1] = 1for n in range(2, n+1):f[n] = f[n-1] + f[n-2]return f[n]
- 时间复杂度:O(n)
- 空间复杂度:O(n)
空间优化
class Solution(object):def fib(self, n):""":type n: int:rtype: int"""if n < 2:return nprev, curr = 0, 1 # 初始化前两个斐波那契数for _ in range(2, n + 1):prev, curr = curr, prev + curr # 更新前两个值return curr
- 时间复杂度:O(n)
- 空间复杂度:O(1)
相关文章:
leetcode_动态规划/递归 509. 斐波那契数
509. 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0,F(1) 1F(n) F(n - 1) F(n - 2),其中 n …...
对泰坦尼克号沉没事件幸存者数据分析和预测
一、分析目的 探究决定泰坦尼克号沉没事件中什么因素决定着船上人的生死,并对实例进行判别和预测。 二、数据介绍 Titanic.csv数据中包含了891个样本,记录了泰坦尼克号遇难时的891个乘客的基本信息,其中包括以下信息: Passenger…...
算法之排序算法
排序算法 ♥常见排序算法知识体系详解♥ | Java 全栈知识体系 算法 - 排序 | CS-Notes 面试笔记 十大经典排序算法总结 | JavaGuide...
DMA发送全部历史记录数据到串口
背景 博主参与的项目中,有个读取全部历史记录的功能,如果下位机在主程序中将全部历史记录单纯地通过串口传输会比较占用cpu资源,影响主程序中别的功能。最后商量得出以下实现方案: 定义两个发送缓冲区DMATxbuf1和DMATxbuf2&…...
蓝桥杯好题推荐-----高精度减法
🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 题目链接 记录详情 - 洛谷 | 计算机科学教育新生态https://www.luogu.com.cn/record/205122671 思路讲解 这个题目的解题思路,其实是和高精度加法是非常像的。怎么说…...
SpringMVC (3)
目录 1. 传递对象 2. 后端参数重命名(后端参数映射) 3. 传递数组 4. 传递集合 5. 传递JSON数据 5.1 JSON概念 5.2 JSON语法 5.3 JSON字符串和Java对象互转 5.4 JSON优点 5.5 传递JSON对象 6. 获取URL中参数PathVariable 7. 上传文件RequestP…...
vscode使用豆包MARSCode----集成doubao1.5 DeepSeekR1 DeepseekV3模型的ai编程插件
引入扩展 打开VSCode扩展窗口,在搜索窗口搜索MarsCode,找到MarsCode 插件单击「install」,完成安装,登录即可使用MarsCode 编程助手。 主要功能 主要快捷键 / explain 解释项目代码,AI 返回的内容有结构分类&#…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_buf_t
ngx_buf_t 定义在 src/core/ngx_buf.h typedef struct ngx_buf_s ngx_buf_t;struct ngx_buf_s {u_char *pos;u_char *last;off_t file_pos;off_t file_last;u_char *start; /* start of buffer */u_char …...
分布式开源协调服务之zookeeper
Zookeeper简介 Zookeeper是什么? Zookeeper官网中对Zookeeper的定义还是比较明确的: ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services…...
ubuntu系统安装playhouse三方库
ubuntu系统python3.10安装playhouse三方库 问题描述 问题描述 虚拟环境中使用pip install playhouse,返回安装成功 用pip list查看,能看到playhouse及版本号 导包时提示没有找到playhouse我那件目录,能发现 检查site-package发现问题&#x…...
【星云 Orbit-F4 开发板】04.一触即发:GPIO 外部中断
【星云 Orbit-F4 开发板】04. 一触即发:外部中断控制 摘要 本文详细介绍了如何使用STM32F407微控制器的HAL库实现外部中断功能。通过配置GPIO引脚作为外部中断源,并在中断回调函数中处理按键事件,实现了按键控制LED状态翻转的功能。本文旨在…...
笔记二:整数和浮点数在内存中存储
目录 一、数据类型介绍 二、类型的基本归类 1.整形家族: 2.浮点数家族: 3.构造类型: 4.指针类型 5.空类型: 三、整形在内存中的存储 3.1 原码,反码、补码 3.2 大小端介绍 四、浮点数在内存中的存储 编辑 4.…...
PyQT(PySide)的上下文菜单策略设置setContextMenuPolicy()
在 Qt 中,QWidget 类提供了几种不同的上下文菜单策略,这些策略通过 Qt::ContextMenuPolicy 枚举类型来定义,用于控制控件(如按钮、文本框等)在用户右键点击时如何显示上下文菜单。 以下是 Qt::ContextMenuPolicy 枚举中…...
BladeX框架接口请求跨域
前端使用代理请求接口,接口可以正常访问。如果换全路径请求就跨域。 除了后端要配置跨域 还需要修改配置文件对OPTIONS请求的限制...
如何在Apple不再支持的MacOS上安装Homebrew
手头有一台2012年产的Macbook Pro,系统版本停留在了10.15.7(2020年9月24日发布的)。MacOS 11及后续的版本都无法安装到这台老旧的电脑上。想通过pkg安装Homebrew,发现Homebrew releases里最新的pkg安装包不支持MacOS 10.15.7&…...
本地大模型编程实战(26)用langgraph实现基于SQL数据构建的问答系统(5)
本文将将扩展上一篇文章完成的 langgraph 链,继续使用基于 langgraph 链 ,对结构化数据库 SQlite 进行查询的方法。该系统建立以后,我们不需要掌握专业的 SQL 技能,可以用自然语言询问有关数据库中数据的问题并返回答案。主要完善…...
数据结构与算法:滑动窗口
前言 滑动窗口一般主要用于解决子数组或子串问题,这类的题目更看重对题目的分析和转化。 一、原理 在整个数组上,用l和r分别控制窗口的左右边界,r就扩大,l就减小。 当窗口的范围和题目中某个指标间存在单调关系时,…...
江协科技/江科大-51单片机入门教程——P[2-1] 点亮一个LED
本节将向大家介绍如何用 51 单片机去控制开发板上的 LED。开发板上的 LED 位置标注有 “LED 模块”。 第二章要写 3 个程序代码:第一个代码实现点亮开发板上的第一个 LED;第二个代码让第一个 LED 以 1 秒为周期闪烁;第三个代码使 8 个 LED 以…...
leetcode hot 100 41. 缺失的第一个正数
代码 测试用例 测试用例 测试结果 41. 缺失的第一个正数 已解答 困难 相关标签 相关企业 提示 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1…...
UniApp 使用 u-loadmore 完整步骤
文章目录 一、前期准备1. 安装 uView - UI 二、使用 u-loadmore组件1. 创建页面2. 编写页面代码模板部分(loadmore-demo.vue)样式部分脚本部分 三、要点补充1. u-loadmore 状态说明2. 数据请求优化3. 性能优化4. 兼容性问题 在 UniApp 开发中,…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
