【数组】509. 斐波那契数(简单)

1.给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引,索引不能重复。 /* 做的一家公司笔试题,两数之和解决,N数之和想了半天,最终参考了别人的思路,收货不错 参考地址:https://blog.csdn.net/dengz_j/article/details/114540948?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161832685216780264062836%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522 阅读详情

【题目】
斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
给定 N,计算 F(N)。
【示例 1】
输入:2
输出:1
解释:F(2) = F(1) + F(0) = 1 + 0 = 1.
【示例 2】
输入:3
输出:2
解释:F(3) = F(2) + F(1) = 1 + 1 = 2.
【示例 3】
输入:4
输出:3
解释:F(4) = F(3) + F(2) = 2 + 1 = 3.
【提示】
0 ≤ N ≤ 30
【代码】
【递归法】
写起来很简单,但是时间复杂度和空间复杂度都很高
执行用时:24 ms, 在所有 C++ 提交中击败了7.51%的用户
内存消耗:5.9 MB, 在所有 C++ 提交中击败了50.49%的用户

class Solution {
public:
    int fib(int N) {
        if(N==0)
            return 0;
        if(N==1)
            return 1;
        return fib(N-1)+fib(N-2);
    }
};

【迭代】
执行用时:4 ms, 在所有 C++ 提交中击败了32.96%的用户
内存消耗:5.6 MB, 在所有 C++ 提交中击败了96.86%的用户

class Solution {
public:
    int fib(int N) {
        int a=0,b=1,c;
        if(N<=1)
            return N;
        for(int i=2;i<=N;i++){
            c=a;
            a=b;
            b+=c;
        }
        return b;
    }
};

【方法三】
执行用时:0 ms, 在所有 C++ 提交中击败了100.00%的用户
内存消耗:5.7 MB, 在所有 C++ 提交中击败了75.41%的用户

class Solution {
public:
    int num[31]={0,1};
    int fib(int N) {        
        for(int i=2;i<=N;i++)
            num[i]=num[i-1]+num[i-2];
        return num[N];
    }
};
PCB线路板的制作工艺流程分享!2021-08-21 Pcb板制作工艺流程:开料-钻孔-沉铜-压膜-曝光-显影-电铜-电锡-退膜-蚀刻-退锡-光学检测-印阻焊油-阻焊曝光、显影-字符-表面处理-成型-电测-终检-抽测-包装。具体如下:1、开料(CUT) 将原始的覆铜板切割成可以用在生产线上制作的板子过程2、钻孔 使PCB板层间产生通孔,以达到连通层间的目的。 3、沉铜 经过钻孔后的线路板在沉铜缸内会发生氧化还原反应,形成铜层对孔进行孔金属化,使原来绝缘的基材表面沉积上铜,达到层间电性相通。 4、压膜 压膜后的PCB板上面压了一层蓝色的干膜, 干膜是一个载体 阅读详情

相关推荐

暗黑破坏神2重制版 mod制作教程(一)

暗黑2重制版mod修改教程

hhhh2312的博客 7462

javascript 给定包括 n 个整数的数组 nums 和 目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案

例如,给定数组 nums = [-1,2,1,-4], 和 target = 1. 与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2). 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/3sum-closest /** * @param {number[]} nums * @param {numb...

gzyzwx的博客 1424

别再用Excel画波特图了!用LTspice免费仿真软件,5分钟搞定电路传递函数分析

本文介绍了如何利用LTspice免费仿真软件高效绘制波特图,解决传统Excel绘图效率低、精度不足的问题。通过详细的操作步骤和实战案例,展示LTspice在电路传递函数分析中的自动化计算、专业级精度和完整特性展示等优势,帮助工程师快速完成频率响应分析。

weixin_42524226的博客 462

c语言数组的斐波那契数列

c语言数组的斐波那契数列 核心思想:后一项是前一项的和 a[i]=a[i-1]+a[i-2]; 题干 转换为代码 #include<stdio.h> int main() { int i,n,a[20]={1,1}; scanf("%d",&n); for(i=2;i<n;i++) { a[i]=a[i-1]+a[i-2]; } printf("%d",a[n-1]); return 0; } 将列表的一二(a[0]和a[1])个初始为1,后面的会自动变为0 ...

qq_52137710的博客 9823

Qt Coordinate System

Qt 坐标系统Qt 坐标系统 数学基础 Qt坐标系统 视口 平移变换 缩放变换 setWindow 旋转 总结数学基础 矩阵与线性变换坐标系变换Qt坐标系统 视口和OpenGL一样,视口确定了画面在窗口(QWidget)中显示的区域,Qt的绘图坐标会完全映射到视口(View port)上,就像图示一样。默认情况下,窗口和视口是重合的,视口的大小覆盖了整个窗口。和OpenGL一样,Qt的QPa

unclerunning的博客 1151

AF3 ProteinDataset类的_patch方法解读

AlphaFold3 protein_dataset模块 ProteinDataset 类  _patch 方法的主要目的是围绕锚点残基(anchor residues)裁剪蛋白质数据,提取一个局部补丁(patch)作为模型输入。

qq_27390023的博客 1148

java 最接近_最接近的三数之和(java实现)

给定一个包括n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).看到这道题,我们能想到我之前发的一篇博客三数之和,思想和...

weixin_36051940的博客 518

FPGA SPI驱动ADC避坑指南:以ADC128S022为例,详解时序设计与代码调试

本文以ADC128S022为例,详细解析FPGA通过SPI驱动ADC的时序设计与代码调试中的常见问题。从时钟分频计算、SPI模式选择到状态机实现,提供避坑指南和实战技巧,帮助工程师解决数据采集系统中的时序匹配难题。特别针对FPGA与ADC通信中的微妙差异,给出精确的Verilog代码示例和ModelSim仿真验证方法。

weixin_42522374的博客 460

我的斐波那契数组算法总结

斐波那契算法模板 介绍 斐波那契问题来源于兔子繁殖问题。 兔子繁殖问题:假设小兔子长大需要一年的时间,成年的兔子每年可以生一只小兔子。 问:如果第一年有一只小兔子,那么 n 年后一共有多少只兔子。 {1,1,2,3,5,8,13…} 根据题目就可以找到规律:从第三年开始,往后每年的兔子数 = 去年兔子数 + 前年兔子数 即 f(n) = f(n-1) + f(n-2) 三种解法 第一种:经典求法(递归法):时间复杂度最高:O(2^n) 算法很简单,只需要不断的使用递归(从高到低)就行,但是时间复杂度非常高,

一天无聊 288

基于SAGE算法的宽带信道参数估计算法的MATLAB仿真

本文将介绍如何使用MATLAB进行SAGE算法的仿真,以便更好地理解和应用该算法。SAGE算法是一种基于最大期望(Expectation-Maximization)方法的迭代估计算法,用于估计未知的参数。在宽带信道参数估计中,SAGE算法通过迭代优化来估计信道的传输函数。总结起来,本文介绍了如何使用MATLAB进行基于SAGE算法的宽带信道参数提取算法的仿真。通过以上步骤,我们可以得到估计的信道响应,并与真实信道响应进行比较。此外,SAGE算法还可以与其他信道估计算法相结合,以提高估计的准确性和性能。

CodeRoarX的博客 1076

工业相机——靶面尺寸、像元尺寸、分辨率 、传感器尺寸

由Sensor对角线长度表示,单位英寸,这里的1英寸=16mm。——靶面尺寸为宽12.7mm*高9.6mm,对角线16mm。——靶面尺寸为宽8.8mm*高6.6mm,对角线11mm。——靶面尺寸为宽7.2mm*高5.4mm,对角线9mm。——靶面尺寸为宽6.4mm*高4.8mm,对角线8mm。——靶面尺寸为宽4.8mm*高3.6mm,对角线6mm。——靶面尺寸为宽3.2mm*高2.4mm,对角线4mm。——靶面尺寸为宽14*高10.5mm,对角线17mm。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 9611

[数组][简单]509.斐波那契数

tags: 简单 完成 数组 斐波那契数列 动态规划 flag: green style: summer data: ‘2019-6-10’ 509.斐波那契数 一、题目 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N...

GJXAIOU 的 优快云 博客 512

Android实战——白天黑夜模式设置

白天黑夜模式是一种动态的UI模式,根据当前时间或用户设置的偏好,在白天和黑夜之间进行切换。它通过调整应用程序的颜色、亮度和其他可视化元素来提供更加舒适和易读的用户界面。

小旭的专栏 5230

LeetCode—509. 斐波那契数(Fibonacci Number)——分析及代码(Java)

LeetCode—509. 斐波那契数[Fibonacci Number]——分析及代码[Java]一、题目二、分析及代码1. 动态规划(1)思路(2)代码(3)结果三、其他 一、题目 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你 n ,请计算 F(n) 。 示例 1: 输入:2 输出:1

江南土豆的博客 304

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

力扣-动态规划-509. 斐波那契数

力扣动态规划-509. 斐波那契数

qianxunsiyue的博客 492

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Day92 代码随想录打卡|动态规划篇---斐波那契数

本题是一道入门级别的简单题,因为题目中已经给了我们所有需要的信息并不需要我们自己去推导。按照计算前10个数的斐波那契值是0 1 1 2 3 5 8 13 21 34 55。因为第i个数的斐波那契值需要由i-1和i-2两个数得到,因此要从前向后遍历。F(n) = F(n - 1) + F(n - 2),其中 n > 1。递推公式就是dp(n) = dp(n - 1) + dp(n - 2)开始,后面的每一项数字都是前面两项数字的和。dp数组含义dp[i]就代表第i个数字的斐波那契值。表示)形成的序列称为。

m0_48909584的博客 367

动态规划 | 斐波那契数列、爬楼梯 | leecode刷题笔记

动态规划(Dynamic Programming, DP)如果某一问题有很多重叠子问题,使用动态规划是最有效的。动态规划中每一个状态一定是由上一个状态推导出来的。贪心是局部直接选最优的。

qq_44250700的博客 312

509. 斐波那契数

斐波那契数列这道题目是非常基础的题目,我在后面的动态规划的讲解中将会多次提到斐波那契数列!这里我严格按照动规五部曲来分析了这道题目,一些分析步骤有同学感觉没有必要搞的这么复杂,代码其实上来就可以撸出来。但我还是强调一下,简单题是用来掌握方法论的,动规五部曲将在接下来的动态规划讲解中发挥重要作用,敬请期待!

YouMing_Li的博客 830

Leetcode509. 斐波那契数(GIF图解)

Leetcode509.斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 给定 N,计算 F(N)。 **示例 1**: 输入:2 输出:1 解释:F(2) = F(1) +...

weixin_43294413的博客 1066

【华为机试】509. 斐波那契数

斐波那契数列问题是一个经典的递归和动态规划案例。文章详细介绍了多种解法及其优化思路:1)朴素递归法(时间复杂度O(2^n));2)备忘录递归法(通过哈希表存储结果避免重复计算,优化至O(n));3)动态规划法(自底向上构建解);4)空间优化版本(仅保存前两项)。重点分析了备忘录优化原理,通过存储中间结果显著提升效率。文章还比较了各解法的时间/空间复杂度,并给出了实际应用场景和扩展问题。最后提供了Go语言实现代码,包括递归、备忘录递归和动态规划三种实现方式。

qq_32019341的博客 1119

【LeetCode】 509 斐波那契数

存在递推关系的可以考虑动态规划。动态规划的空间复杂度的降阶优化可以通过滚动窗口动态记录参与递推的前项值来实现。

weixin_44961802的博客 490

【509. 斐波那契数 简单】

动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。贪心解决不了动态规划的问题。时间复杂度:O(n)空间复杂度:O(n)斐波那契数列这道题目是非常基础的题目,这里严格按照动规五部曲来分析了这道题目。

yuan_2001_的博客 762

LeetCode 509. 斐波那契数(简单)

509. 斐波那契数 难度简单229收藏分享切换为英文接收动态反馈 斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1)= 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你n,请计算F(n)。 示例 1: 输入:2 输出:1 解释:F(2) = F(1) + F(0) = 1 + 0 = 1 示例 2: 输入:3 输出...

VictorKa的博客 308

【玩转动态规划专题】509. 斐波那契数【简单】

斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。F(n) = F(n - 1) + F(n - 2),其中 n > 1。解释:F(2) = F(1) + F(0) = 1 + 0 = 1。解释:F(3) = F(2) + F(1) = 1 + 1 = 2。解释:F(4) = F(3) + F(2) = 2 + 1 = 3。本题之所以简单,其实相当于dp[]数组已经已知。给定 n ,请计算 F(n)。

sadsasdsdsdasda的博客 605

【Leetcode】509. 斐波那契数

QUESTION easy 题目描述 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 给定 N,计算 F(N)。 示例 1: 输入:2 输出:1 解释:F(2) = F(1) + F...

zzy0006的博客 207

LeetCode:509.斐波那契数

LeetCode:509.斐波那契数

xiaoshiguang3的博客 595
上一篇: 【数组】面试题 01.02. 判定是否互为字符重排(简单)
下一篇: 【数组、动态规划】300. 最长上升子序列(简单)
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值