Leetcode 509. Fibonacci Number , Java 解法

c# U盘禁用---守护进程(插入,拔出,卸载等操作) 一、简介 传统的对U盘禁用,我们多采用修改注册表的方式,详情参考:https://blog.csdn.net/qq_25372599/article/details/79815407;本文将介绍一种其他的方式–后台守护程序。其原理非常简单:当守护程序检测到U盘的插入信号,我们自动卸载U盘,致使系统无法识别U盘,达到禁用U盘的效果。 二、程序设计 2.1 变量定义 strin... 阅读详情

The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0and 1. That is,

F(0) = 0,   F(1) = 1
F(N) = F(N - 1) + F(N - 2), for N > 1.

Given N, calculate F(N).

Example 1:

Input: 2
Output: 1
Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1.

Note:

0 ≤ N ≤ 30.

Approach #1 Recursive 我的解法

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

Time complexity: O(2^n)- since T(n) = T(n-1) + T(n-2)is an exponential time
Space complexity: O(n) - space for recursive function call stack

 

Approach #2 Iterative

class Solution 
{
    public int fib(int N)
    {
        if(N <= 1)
            return N;
        
		int a = 0, b = 1;
		
		while(N-- > 1)
		{
			int sum = a + b;
			a = b;
			b = sum;
		}
        return b;
    }
}

Time complexity: O(n)
Space complexity: O(1)

Approach #3 Dynamic Programming top-down

class Solution 
{
    int[] fib_cache = new int[31];
	
	public int fib(int N)
    {
        if(N <= 1)
            return N;
        else if(fib_cache[N] != 0)
            return fib_cache[N];
		else 
            return fib_cache[N] = fib(N - 1) + fib(N - 2);
    }
}

Time complexity: O(n)
Space complexity: O(n)

Approach #4 Dynamic Programming Bottom Up 

class Solution 
{
    public int fib(int N)
    {
        if(N <= 1)
            return N;

		int[] fib_cache = new int[N + 1];
		fib_cache[1] = 1;

		for(int i = 2; i <= N; i++)
		{
			fib_cache[i] = fib_cache[i - 1] + fib_cache[i - 2];
		}
		return fib_cache[N];
    }
}

Time complexity: O(n)
Space complexity: O(n)

另: 关于初步理解动态规划很好的一篇博文 https://blog.youkuaiyun.com/u013309870/article/details/75193592

2024年 Flutter 面试题大全(2024.6.28持续更新中) 2024年 Flutter 面试题大全(持续更新中) 阅读详情

相关推荐

基于VS2012 C#调用bartender自动打印条形码

GitHub:https://github.com/sanjaywu/BarcodePrintTool 一、在引用添加Interop.BarTender.dll 1、在资源解决方案的引用这里,右击选择“添加引用”: 2、按照如下步骤添加Interop.BarTender.dll引用: 3、添加完成 二、使用bartender工具设置打印模板 1、页面大小设置: 2、条码设置: 三、代码...

Sanjay_Wu的博客 5956

LeetCode 509 斐波那契数 - Java 实现

通常用F(n)表示)形成的序列称为 斐波那契数。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。给定n,请计算F(n)。

零一魔法 342

STM32H745xI双核芯片SMPS/LDO配置误区:从复位失败到精准排查的实战复盘

本文详细分析了STM32H745xI双核芯片在SMPS/LDO配置中的常见误区,特别是复位失败问题的排查过程。通过对比参考板与故障板的波形数据,揭示了电感选型不当导致的电源稳定性问题,并提供了硬件设计检查清单和调试技巧,帮助开发者避免类似陷阱。

weixin_42531588的博客 265

Leetcode第509题——斐波那契数列(Java版)

一、题目描述: 斐波那契数,通常用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. 二、题解 思路1:递归 使用递归计算给定整数的斐波那契数。 代码实现: public c...

小男孩儿的博客 463

版图学习汇总十一(DRC、LVS注意事项)

esd。

weixin_56071389的博客 2262

【测开求职】面试题:操作系统 吐血整理

本篇文章是笔者为准备研究生复试和校招而写,因此主要针对问答,注重理解,而不在于细节计算。涵盖考研范围内的所有知识内容,读者可以先查看上面的链接走一遍操作系统的整体框架结构。其中,重点难点以及易混淆的知识点,笔者用其他文章进行了详述,在知识点处贴好了链接,有需要的可以查阅。另外操作系统在校招中有非常明显的重点,一般情况下只会考察进程管理,内存管理,和设备管理,且这三者考察频率依次递减,文件管理基本不会考察。

vector的博客 7908

Java实现 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)。 示例 1: 输入:2 输出:1 解释:F(2) = F(1) + F(0) = 1 +...

南 墙 1万+

基于STM32+华为云设计的智慧农业灌溉系统(2023升级版)(158)

本项目设计一种基于STM32的智慧农业监测系统。该系统能够检测空气温度、湿度、光强度和土壤湿度等关键指标,并自动调节浇水量,实现作物生长环境的精细化管理。同时,本项目还支持本地LCD屏幕数据显示和通过ESP8266上传数据到华为云物联网平台,同时搭建流媒体服务器实现摄像头远程监控。最重要的是,本项目将利用Qt开发Android手机APP,使用户可以远程查看监测情况,了解农作物生成情况。

1万+

176、斐波那契数列

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

qq_34446716的博客 528

Unity Shader之路(一)什么是Unity Shader?

Unity Shader前言什么是UnityShaderUnity Shader和材质的关系 前言 众所周知,要想当游戏开发工程师,Unity中的Shader编写不得不摸,这一系列文章我将描写我的Shader学习之路,致敬冯乐乐的书Unity Shader入门精要,此篇什么是Unity Shader?希望能给后人一点方向 我们刚开始接触Unity的时候,总是会遇到材质,但是不了解材质都是什么,为什么可以在很多材质中选择,为什么有时候选择了其他材质后就不能达到我们想要的结果,为什么资源商店有那么多的材质,山.

TurboQ珞珈 2238

YOLOv8改进策略【Conv和Transformer】| CVPR-2023 BiFormer 稀疏自注意力,减少内存占用

本文记录的是利用双级路由注意力机制优化的目标检测网络模型。传统的复杂度高,随着输入空间分辨率增加,计算量呈平方增长,导致严重的可扩展性问题。而本文所使用的在获取全局信息的同时,通过区域到区域路由和令牌到令牌注意力的合理设计,减少了不必要的计算量。BiFormer: Vision Transformer with Bi-Level Routing Attention采用四阶段金字塔结构,与一些先进的视觉Transformer类似。在每个阶段,首先使用重叠的补丁嵌入(在第一阶段)或补丁合并模块(在第二到第四阶段

Limiiiing的博客 614

(java)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) + F(0) = ...

XTAOTWO的博客 640

爬虫Incapsula reese84加密案例:Etihad航空

声明:该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。

老衲爱洗头的博客 2429

LeetCode算法题-Fibonacci Number(Java实现)

这是悦乐书的第250次更新,第263篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第117题(顺位题号是509)。Fibonacci数字,通常表示为F(n),形成一个称为Fibonacci序列的序列,这样每个数字是前两个数字的总和,从0和1开始。即,F(0)= 0,F(1)= 1。对于N&gt; 1,F(N)= F(N-1)+ F(N-2)。给定N,计算F(N)。例...

小川的博客 251

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LeetCode 509 Fibonacci Number 斐波那契数 JAVA实现

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

帽帽的博客 2440

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

江南土豆的博客 303

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LeetCode刷题之509 Fibonacci Number

文章目录1. Description2.Test Cases3. Solution3.1 暴力递归3.2 带备忘录递归3.3 动态规划 1. Description The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and

圆师傅的博客 261

【LeetCode】509. Fibonacci Number 斐波那契数(Easy)(JAVA)每日一题

【LeetCode】509. Fibonacci Number 斐波那契数(Easy)(JAVA) 题目地址: https://leetcode.com/problems/fibonacci-number/ 题目描述: The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding

qq_16927853的博客 285

LeetCode 509. Fibonacci Number (Easy)

Description: The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is, F(...

weixin_45744426的博客 213

【LEETCODE】44、509. Fibonacci Number

package y2019.Algorithm.array; /** * @ProjectName: cutter-point * @Package: y2019.Algorithm.array * @ClassName: Fib * @Author: xiaof * @Description: 509. Fibonacci Number * The Fibona...

weixin_30501857的博客 69

Leetcode--Java--509. Fibonacci Number

题目描述 The Fibonacci numbers, commonly denoted F(n) form a sequence, called the Fibonacci sequence, such that each number is the sum of the two preceding ones, starting from 0 and 1. That is, F(0) = 0, F(1) = 1 F(n) = F(n - 1) + F(n - 2), for n > 1. Given

Sherlock的博客 155

LeetCode 动态规划(Dynamic programming)系列题目--C++,Python解法

LeetCode上有许多态规划(Dynamic programming)的题目,我在这里整合一下 LeetCode题解专栏:LeetCode题解 我做的所有的LeetCode的题目都放在这个专栏里,大部分题目Java和Python的解法都有。 欢迎大家关注我的专栏。 Easy 难度 House Robber - LeetCode 文章地址:LeetCode 198. House Robber–...

个人博客 852

力扣509. 斐波那契数

力扣509. 斐波那契数

桂的博客 140

leetcode509斐波那契数java题解(记忆化)(动态规划)

1.题目 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 给定 N,计算 F(N)。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/proble...

老简单题 450

斐波那契数 力扣 509

F(n) = F(n - 1) + F(n - 2),其中 n > 1。

jalilzod的博客 129

力扣509题 斐波那契数列 Java语言版

力扣509题 斐波那契数列 Java语言版

weixin_44960905的博客 113
上一篇: Leetcode 11. Container With Most Water , Java解法
下一篇: Leetcode 999. Available Captures for Rook , Java解法。
YuanTheCoder
博客等级 码龄9年 2粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值