1、递归:(归去来兮) 递归效率较低,如果明确知道迭代次数,则能用迭代最好用迭代,递归是函数自己调用自身,每次调用都需要入栈等操作。但是递归操作要比迭代简单和清楚。 2、斐波那契数列的递归实现 #include <stdio.h> int Fib(int i); int main() { int i ...
分类:
其他好文 时间:
2020-02-29 00:27:45
阅读次数:
72
第一章 实例1.1斐波那契数列计算 #CalFibonacci.pya,b=0,1while a<1000: print(a,end=',') a,b=b,a+b ...
分类:
编程语言 时间:
2020-02-28 22:49:28
阅读次数:
66
10.矩形覆盖 题目 我们可以用2 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 1的小矩形无重叠地覆盖一个2 n的大矩形,总共有多少种方法? 比如n=3时,2 3的矩形块有3种覆盖方法: 思路 还是斐波那契数列,2 2的矩阵有两种方法填装,3\ 2的就是3种方法,n\ 2的就是n 1和n ...
分类:
其他好文 时间:
2020-02-26 19:18:47
阅读次数:
80
class Solution { public: int Fibonacci(int n) { int f=0,g=1; while(n--) { f=f+g; int temp = g; g=f; f = temp; } return f; } }; 9这题用递归会溢出 ...
分类:
其他好文 时间:
2020-02-26 01:30:59
阅读次数:
51
大一上学了线代,脑子里面还没有对线代的具体应用有过认识,听说以后机器学习什么的会用上,但好像学到的时候线代知识也容易忘了…… 那么今天就说说在oi里面,我用到线代的知识的题目吧。 矩阵快速幂。 这类题目主要是用来推导公式的,比如经典的斐波那契数列就可以用上这个。 F【n】=F【n-1】+F【n-2】 ...
分类:
其他好文 时间:
2020-02-26 01:30:10
阅读次数:
58
1 /* 2 斐波那契数列 3 1、1、2、3、5、8、13、21、34、 4 */ 5 6 #include "stdio.h" 7 8 int main() 9 { 10 int i; 11 int f1, f2, value; 12 int count = 0; //计数 13 f1 = f2 ...
分类:
其他好文 时间:
2020-02-24 21:04:02
阅读次数:
145
有一个固定的数学公式= =,不知道的话显然没法应用 a(n)为斐波那契数第n项 O(1)复杂度 Python def fib(self, N): golden_ratio = (1 + 5 ** 0.5) / 2 return int((golden_ratio ** N + 1) / 5 ** 0 ...
分类:
其他好文 时间:
2020-02-22 23:36:47
阅读次数:
93
题目 F(0) = 0, F(1) = 1 F(N) = F(N 1) + F(N 2), 其中 N 1. 思路 我一开始想用递归,但是想起动态规划可以更节省资源更快的解决问题 代码全称只需要几个变量,不用递归栈 收获 动态规划 代码 ...
分类:
其他好文 时间:
2020-02-22 15:28:52
阅读次数:
68
第4章-12 求满足条件的斐波那契数 a=eval(input()) b=c=1 d=1 for i in range(a): c=b b=d d=b+c if d>a: print('{}'.format(d)) break 第4章-13 求误差小于输入值的e的近似值 a=eval(input() ...
分类:
编程语言 时间:
2020-02-21 12:46:30
阅读次数:
121
旋转数组 描述 将有序数组的前n个数移到数组最后称为旋转数组。求数组中最小的元素。 思路 顺序查找时间复杂度为O(n),序列分为两段,两段都是有序的,且大多数情况下第一段的数大于第二段,这就可以用二分查找,如[3,4,5,1,2] ,当index1+1=index2时,nums[index2]为所要 ...
分类:
编程语言 时间:
2020-02-19 13:04:29
阅读次数:
91