427-动态规划算法-斐波那契数列
动态规划算法求解斐波那契数列
状态:dp数组,存储已经求解的子问题的最优解
递归版本的动态规划算法
//参数n表示斐波那契数列中数字的个数。
//返回相应个数的斐波那契数列数字的值。
int fabnacci(int n, int dp[])
{if (dp[n] > 0) { //表示:子问题n之前被求解过了return dp[n];//直接返回解,提高算法的效率}if (n == 1 || n == 2) {dp[n] = 1;return 1;}else {dp[n] = fabnacci(n - 1, dp) + fabnacci(n - 2, dp);return dp[n] ;}
}
int main()
{// 1 1 2 3 5int n = 10; int *dp = new int[n + 1]();int val = fabnacci(n, dp);cout << val << endl;return 0;
}
非递归版本的动态规划算法
#include <iostream>
#include <algorithm>
using namespace std;int main()
{const int n = 10;int dp[n + 1] = {0};dp[1] = dp[2] = 1;for (int i = 3; i <= n; ++i) {dp[i] = dp[i - 1] + dp[i - 2];}cout << dp[n] << endl;return 0;
}
427-动态规划算法-斐波那契数列相关推荐
- Java数据结构与算法---斐波那契数列Fibonacci
Java数据结构与算法-斐波那契数列Fibonacci 原理都很简单,直接上代码: package cn.m_fibonacci;public class Fibonacci {public stat ...
- 动态规划实现斐波那契数列求解
int fibonacciDP1(int n) { // 动态规划不使用数组int a = 0;int b = 1;int sum;int i;if (n == 0)return 0;if (n == ...
- 【README2】动态规划之斐波那契数列说明重叠子问题如何解决
接上文:[README1]动态规划之解题思路 文章目录 斐波那契数列讲解--解决重叠子问题 (1)暴力递归 (2)带有备忘录的递归解法 (3)自底向上--dp数组解法 (4)总结:状态转移方程 (5) ...
- 动态规划:斐波那契数列里面的东西?
斐波那契数列 我想每个人都会写斐波那契数列吧!! 斐波那契数列的定义 f(0) = 1,f(1) = 1,f(n) = f(n-1) + f(n-2) 基于递归的方式实现,讲到递归都会用到: def ...
- 最优化算法-斐波那契数列搜索
斐波那契数列搜索,参考Edwin<最优化导论>第四版7.3章节,算法采用go语言实现. /****************************************** FileNa ...
- Python|动态规划问题--斐波那契数列
欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 欢迎加入团队圈子!与作者面对面!直接点击! 斐波那契数列 斐波 ...
- 动态规划Ⅰ:斐波那契数列
动态规划题目类型 & 做题思路总览:动态规划解题套路 & 题型总结 & 思路讲解 文章目录 一.斐波那契数列 1. 爬楼梯问题 2. 打家劫舍系列 3. 信件错排 4. 母牛生 ...
- 趣学算法--斐波那契数列
14天阅读挑战赛 努力是为了不平庸~ 目录 1.神奇的兔子数列 1.1问题分析 1.2斐波那契数列 1.3算法设计 1.3.1递归代码 1.3.2递归的改进,O(n)的代码 1.3.3时间复杂度为O( ...
- LeetCode——动态规划:斐波那契数列
斐波那契数列 目录 爬楼梯 强盗抢劫 强盗在唤环形街区抢劫 信件错排 注:具体解析请点击链接进入LeetCode题解区. 1. 爬楼梯 https://leetcode-cn.com/problems ...
最新文章
- 第一章:点云中的滤波问题---Filters
- centos7上安装配置tomcat8.5
- 5G NR 频率 带宽 栅格
- 浅析Java的“克隆”方法[zt]
- 为何Transformer在计算机视觉中如此受欢迎
- Oracle Share Pool工作原理
- RHCE实验环境虚拟机下载及注意事项
- 先进软件开发技术与工具
- Ubuntu16.04 微信网页版安装
- 游戏开发中的数学基础
- win7家庭版升级win7旗舰版
- 这款必应出品的壁纸软件也太棒了
- java旅游管理面试,旅游管理面试题目
- html语言怎么换下一行,表格中打字怎么换到下一行
- Go : constant shifts恒定位移旋转(附完整源码)
- mkdir cd 创建并进入文件夹,创建并进入目录,只写一遍目录名, `$_`获取最后一个参数, 笔记221108
- 【真题分享】2021京东春招java开发面试
- 使用searx搭建自己的搜索引擎
- 转载海科SEO-探秘qq空间seo设置
- 面试之其他面试题归类
热门文章
- OceanBase 首席科学家阳振坤博士入选2022 年度“CCF王选奖”
- 计算机新应用外文翻译,计算机 外文翻译 外文文献 英文文献及译文一种新的网络应用程序开发框架MVC...
- 使用GPS坐标查询国家以及城市名称,reverse_geocoder包用法
- Person Mission Statement
- 激光点云3D目标检测算法之PointPillars
- 网络认证小结——你有网络身份证吗?
- 高通android 7.0彩信发送过程中使用到的google pdu
- 项目管理课程:从初学者到项目经理
- Linux中的sudoers没有root ALL=(ALL) ALL这一行
- xcodebuild和xcrun实现自动打包iOS应用程序