LeetCode109|斐波那契数列
时间:2022-07-28
本文章向大家介绍LeetCode109|斐波那契数列,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
0x01,前言闲叙
还记得那年初学编程时的现象,对着黑窗口敲下那一句"hello world"的场景,这就是初学编程语言必须的内容,然而,随着内容的加深,深刻这个词却从未在自己心头进行留下过,我也仅仅这样肤浅的理解着教学里面的编程语言,然而,随着时间流逝,我们面对未来的实习和工作内容,当初学的那点内容不足以撑起我们对编程世界的理解,至今依然是,所以,就有了自己现在的一点一点感触了。
0x02,问题简述
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。
答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。
0x03,示例
示例 1:
输入:n = 2
输出:1
示例 2:
输入:n = 5
输出:5
0x04,题解思路
使用动态规划的方式进行解决
0x05,题解程序
public class FibTest {
public static void main(String[] args) {
int n = 5;
int a = fib(n);
System.out.println("a = " + a);
}
public static int fib(int n) {
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
int[] dp = new int[n + 1];
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i <= n; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
dp[i] = dp[i] % 1000000007;
}
return dp[n];
}
}
0x06,题解程序图片版
0x07,总结一下
对于这道题,我们最常用到的思路就是递归求解,这里也是使用动态规划的方式来做的
- java中遇到过的String的一些特性
- Kaggle案例——使用scikit-learn解决DigitRecognition问题
- 基于Kaggle数据的词袋模型文本分类教程
- javascript中遇到的字符串对象处理
- 传统企业站开发 - 页面布局
- AngularJS中使用service,并同步数据
- 2016.05 第四周 群问题分享
- angularjs中 *.min.js.map 404的问题
- Git与通过Git添加提交文件
- Facebook社交网络R语言分析
- 初次使用AngularJS中的ng-view,路由控制
- Android Hook技术防范漫谈
- 美团点评基于Storm的实时数据处理实践
- 关于客户端接口分页sql语句
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Prometheus入门教程(二):Prometheus + Grafana实现可视化、告警
- WAF代码剖析之初识openresty
- 树义带你学 Prometheus(四):PromQL 快速入门
- 树义带你学 Prometheus(五):Prometheus 的关键概念
- 树义带你学 Prometheus(六):Spring Boot Actuator 实现应用监控
- 树义带你学 Prometheus(七):SpringBoot 实现自定义指标监控
- 布尔型盲注的PY交易
- 一文详解「队列」,手撸队列的3种方法!
- 代理模式
- Swift:Lable 高度计算误差
- 基于python检查SSL证书到期情况代码实例
- Python搭建Keras CNN模型破解网站验证码的实现
- PyCharm 在Windows的有用快捷键详解
- Python 自动化测试(三): pytest 参数化测试用例构建
- 基于Android平台实现拼图小游戏