LeetCode 509[斐波那契数]
1.LeetCode1480[一维数组的动态和]2.LeetCode1342[将数字变成0的操作次数]3.LeetCode1672[最富有客户的资产总量]4.LeetCode412[Fizz Buzz]5.LeetCode9[回文数]6.LeetCode3264[K次乘运算后的最终数组I]7.LeetCode3270[求出数字答案]8.LeetCode LCR135[报数]9.LeetCode 1137[第N个泰波那契数]10.LeetCode 2535[数组元素和与数字和的绝对差值]11.LeetCode 2544[交替数字和]12.LeetCode 171[Excel表列序号]13.LeetCode 3014[输入单词需要的最少按键次数I]14.LeetCode 面试题16.07[最大数值]15.LeetCode 13[罗马数字转整数]16.LeetCode 836[矩形重叠]17.LeetCode 69[x的平方根]18.LeetCode 1103[分糖果II]19.LeetCode 2235[两整数相加]20.LeetCode 2769[找出最大的可达成数字]21.LeetCode 1290[二进制链表转整数]22.LeetCode 2455[可被三整除的偶数平均值]23.LeetCode 492[构造矩形]24.LeetCode 1812[判断国际象棋棋盘中一个格子的颜色]25.LeetCode 1837[K进制表示下的各位数字总和]26.LeetCode 367[有效的完全平方数]27.LeetCode LCP17[速算机器人]28.LeetCode 2413[最小偶倍数]29.LeetCode 66[加一]
30.LeetCode 509[斐波那契数]
31.LeetCode LCR126[斐波那契数]32.LeetCode LCR072[x的平方根]33.LeetCode 263[丑数]34.LeetCode 762[二进制表示中质数个计算置位]题目
链接
详情
实例
提示
题解
思路
递归求值,但是吧,如果是用递归的话有可能会造成内存超出限制的错误,当然我不能确定会不会报此错误,因为我没有试过
此处我是用循环代替递归的
n为0时,fn为0
n为1时,fn为1
n为2时,fn为 fn_1+fn_2 = 0 + 1 = 1
n为3时,fn为 fn_1+fn_2 = 1 + 1 = 2
n为4时,fn为 fn_1+fn_2 = 1 + 2 = 3
n为5时,fn为 fn_1+fn_2 = 2 + 3 = 5
蓝色部分是在循环外面进行的,也就是:
当n为0时,直接返回0
当n为1时,直接返回1
红色部分是在循环内进行的,也就是开始递归了:
设定 i 的初始值为 2
则此时 fi_1 的值为 f1 的值,fi_2 的值为 f0 的值,此时可以求出 fi 的值
然后再将 fi_1 的值赋给 fi_2,将 fi 的值赋值 fi_1,再通过 fi = fi_1 + fi_2 来求取 fi 的值
直到 i 为 n,计算出 fn 的值后退出循环并返回 fn
代码
class Solution {
public:
int fib(int n) {
if (0 == n)
return 0;
if (1 == n)
return 1;
int f_2 = 0, f_1 = 1;
int iRet = 0;
for (int i = 2; i < n + 1; i++)
{
iRet = f_1 + f_2;
f_2 = f_1;
f_1 = iRet;
}
return iRet;
}
};
类似题目
类似题解
本文来自博客园,作者:EricsT,转载请注明原文链接:https://www.cnblogs.com/EricsT/p/18586858
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇