P09 斐波那契数列 小灰灰 2022-10-19 12:59 102阅读 0赞 斐波那契数列的第N位=(N-1)+(N-2);开始仅知道第一位和第二位的值为0和1。求第N位的值的算法 > 0 1 2 3 5 8 13 21 34 55 … (n-2) (n-1) n # 一、暴力递归 # // 暴力递归 时间O(2^n) 空间O(1) func forceRecursion(n int) int { if n <= 1 { // 第0、1位直接返回 return n } return forceRecursion(n-1) + forceRecursion(n-2) } # 二、尾部递归 # 其实就是递归函数的返回不应携带运算. 尾递归函数,部分高级语言编译器会进行优化,减少不必要的堆栈生成,使得程序栈维持固定的层数,不会出现栈溢出的情况。 func feibo(n, a1, a2 int){ if n == 0{ return a1 } return feibo(n-1, a2, a1+a2) } # 三、去重递归 # func unrepeatRecursion(n int) int { array := make([]int, n+1) // 数组从0开始,数列从1开始,下标以数列下标,所以需要增加1 return () } func recursion(array []int, n int) int { if n <= 1 { return n } if array[n] != 0 { // 已经计算过,则返回 return array[n] } array[n] = recursion(array, n-1) + recursion(array, n-2) // 没有计算过,则递归存储后返回 return array[n] } # 四、双指针 # ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4OTAwNTY1_size_16_color_FFFFFF_t_70_pic_center] // 从下标位1的斐波那契数列,即没有第0位 func doublePoint(index int) (curr int) { var left, right = 0, 1 if index <= 2 { return index - 1 } for i := 3; i <= index; i++ { // 从计算第三位开始 curr = left + right left = right right = curr } return } [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4OTAwNTY1_size_16_color_FFFFFF_t_70_pic_center]: /images/20221004/8f963ae0efd7447d960aed196ccd0ad0.png
相关 P09 斐波那契数列 斐波那契数列的第N位=(N-1)+(N-2);开始仅知道第一位和第二位的值为0和1。求第N位的值的算法 > 0 1 2 3 5 8 13 21 34 55 … (n-2) ( 小灰灰/ 2022年10月19日 12:59/ 0 赞/ 103 阅读
相关 斐波那契数列 关于斐波那契数列的解法,本人找到了一种比较简单的方法,结果是正确的,不知道各位有没有另外更好的解法,一起探讨探讨。 import java.util.; pu ╰+攻爆jí腚メ/ 2022年08月01日 12:15/ 0 赞/ 275 阅读
相关 斐波那契数列 定义:斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列从第三项开始,每一项都等于前两项之和。 矫情吗;*/ 2022年07月13日 04:49/ 0 赞/ 240 阅读
相关 斐波那契数列 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597, 冷不防/ 2022年07月13日 03:19/ 0 赞/ 268 阅读
相关 09_斐波那契数列 > 题目:输入一个整数n,输出斐波那契数列的第n项 ![这里写图片描述][SouthEast] Java版本: public class Fibonacci 素颜马尾好姑娘i/ 2022年06月13日 10:42/ 0 赞/ 76 阅读
相关 斐波那契数列 class FibIter(object): def __init__(self, lenth): self.lent 一时失言乱红尘/ 2022年05月27日 13:51/ 0 赞/ 265 阅读
相关 斐波那契数列 include<iostream> using namespace std; int fibonacci1(int t) { if(t 古城微笑少年丶/ 2022年05月09日 08:58/ 0 赞/ 231 阅读
相关 斐波那契数列 > 斐波那契数列(Fibonacci sequence)指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1 墨蓝/ 2022年03月22日 15:59/ 0 赞/ 340 阅读
相关 斐波那契数列 时间限制:1秒 空间限制:32768K 热度指数:450138 算法知识视频讲解 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第 淡淡的烟草味﹌/ 2022年03月12日 08:13/ 0 赞/ 259 阅读
相关 斐波那契数列 package nums; public class Feibonaqi { public static void main(St 野性酷女/ 2022年03月07日 06:10/ 0 赞/ 296 阅读
还没有评论,来说两句吧...