C#与python的迭代器比较: 迭代器 C# Python 一个对象可迭代,需要实现IEnumerable(表示对象可数),IEnumerable就是要实现一个IEnumerator(迭代对象)。 这样的说法曾经一度让我很迷,如果返回一个已实现的类似于数组array、列表list类型的IEnume ...
分类:
编程语言 时间:
2020-07-05 22:58:39
阅读次数:
53
算法(1)--时间和空间复杂度 初识 算法定义 算法是独立存在的一种解决问题的方法和思想: 求解一个问题步骤的描述 是求解问题的方法 它是指令的有限序列 其中每条指令表示一个或者多个操作 对于算法而言,实现的语言并不重要,重要的是思想 算法特性 确定性:无二义 有穷性:合适时间内可以执行 输入项 输 ...
分类:
编程语言 时间:
2020-07-05 13:33:12
阅读次数:
78
题目: 1.用递归算法实现斐波那契数列(及其改进算法) 2.查找字符串中所有字符,第二次出现的位置情况,若没有出现,则赋值为-1 public class Test3 { /** * 查找字符串中所有字符,第二次出现的位置情况,若没有出现,则赋值为-1 * @param args */ public ...
分类:
编程语言 时间:
2020-07-02 19:56:43
阅读次数:
56
由于每次只能跳一阶或者两阶台阶,所以要到达每一阶台阶的方案数都是到达上一阶台阶的方案数 和到达上上阶台阶的方案数之和。 如果我们用dp[i]表示到达第i阶台阶的方案数,那么可以得到递推公式dp[i] = dp[i - 1] + dp[i - 2]; 这就是一个斐波那契数列,递推边界是dp[0] = ...
分类:
其他好文 时间:
2020-07-02 16:33:12
阅读次数:
47
设 \(F(x)\) 为斐波那契数列的生成函数,\(G(x)\) 为答案的生成函数,显然: \(G(x)=\sum_{i=1}^{∞}F(x)^i\) 即 \(G(x)=\frac{1}{1-F(x)}\) 由 \(F(x)=\frac{x}{1-x-x^2}\) 可得,\(G(x)=\frac{1 ...
分类:
其他好文 时间:
2020-07-01 09:58:03
阅读次数:
59
可以用逗号做标识符,但是逗号左右两边不可以是相同的字符串例如aq,aq是不行的。 斐波那契数列。 迭代。 public static int qw(int n) { if(n<=0) return 0; if(n==1||n==2)return 1; int fir=1;int sec=1;int ...
分类:
其他好文 时间:
2020-06-30 20:32:28
阅读次数:
46
递归Recursion 函数直接或者间接调用自身就是递归; 递归需要有边界条件,递归前进段、递归返回段; 递归一定要有边界条件; 当边界条件不满足的时候,递归前进; 当边界条件满足的时候,递归返回; 斐波那契数列示例: 递归要求: 递归一定要有退出条件,递归调用一定要执行到这个退出条件;没有退出条件 ...
分类:
编程语言 时间:
2020-06-30 14:29:37
阅读次数:
57
数论 斐波那契相关 1.1 斐波那契求和公式 设$f_n$表示斐波那契数列的第$n(n\not=1)$项(\(f_0=1,f_1=1\)),则有下式: \(f_n=\sum_{i=1}^{n-2}f_i+f_2\) 证明: 易证:\(f_2=f_2\) 当$n=i$时成立,尝试证明$n=i+1$同样 ...
分类:
其他好文 时间:
2020-06-29 22:49:59
阅读次数:
57
题目:给定整数N,返回斐波那契数列的第N项 变式1:给定整数N,代表台阶数,一次可以跨2个或者1个台阶,返回有多少种走法 跨到最后一节台阶的走法等同于跨到倒数第一个台阶和倒数第二个台阶走法之和,就回到了求斐波那契数列的基本题 变式2:假设农场种成熟的母牛每年只会生1头小母牛,并且永远不会死。第一年农 ...
分类:
其他好文 时间:
2020-06-29 16:56:43
阅读次数:
57
记忆化递归: int max = 0; public int lenLongestFibSubseq(int[] A) { int[][] cache = new int[A.length][A.length]; for (int i = 0; i < A.length - 1; i++) { fo ...
分类:
其他好文 时间:
2020-06-29 00:17:42
阅读次数:
57