鉴于python的使用量还不够庞大,我又用c写了一遍相同的实现。 这两种语言实现相同的思想。不用纠结哪种语言。 不过单纯来看这道题,运用动态规划算法据说还不是最优解,听数学系的同学说,斐波那契数是最快的方式。 我不理解斐波那契为什么可以,所以我也没有用。 写下动态规划的代码,学习一下动态规划的思想, ...
分类:
编程语言 时间:
2017-08-10 14:15:50
阅读次数:
293
首先,我们来看下下面这栋楼梯: 一共四层,我们规定“一个人爬楼梯,一步可以迈一级,二级台阶,如果楼梯有N级,要求编写程序,求总共有多少种走法”,接下来我们统计下这四层,每层的走法: 从这个简短的统计中,我们可以发现一个规律(如果觉得还看不出,可以再多几阶楼梯),从第三阶梯开始,走法就是第一阶梯走法和 ...
分类:
编程语言 时间:
2017-08-06 17:00:53
阅读次数:
174
案例: 某些时候,我们想要为多个函数,添加某种功能,比如计时统计,记录日志,缓存运算结果等等 需求: 在每个函数中不需要添加完全相同的代码 如何解决? 把相同的代码抽调出来,定义成装饰器 求斐波那契数列(黄金分割数列),从数列的第3项开始,每一项都等于前两项之和 求一个共有10个台阶的楼梯,从下走到 ...
分类:
编程语言 时间:
2017-08-05 19:47:42
阅读次数:
175
7.斐波那契数列 问题描述 都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 实现思想 了解斐波那契数列的规律就Ok了。1,1,2,3,5,8,。。。 代码 8.跳台阶 问题描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法 实现 ...
分类:
其他好文 时间:
2017-08-05 14:13:37
阅读次数:
128
题目1: 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。 斐波那契(Fibonacci)数列定义例如以下: f(n)=?????0,1,f(n?1)+f(n?2),n=0n=1n>2\begin{equation} f(n)=\left\{ \begin{array}{cc} 0 ...
分类:
其他好文 时间:
2017-08-05 12:37:09
阅读次数:
148
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:每个台阶都有跳与不跳两种情况(除了最后一个台阶),最后一个台 ...
分类:
其他好文 时间:
2017-08-04 21:34:44
阅读次数:
149
题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 class Solution { public: int jumpFloor(int number) { if(number==1) return 1; else if(number==2) ret ...
分类:
其他好文 时间:
2017-08-04 20:31:31
阅读次数:
189
class Solution { public: int jumpFloorII(int number) { if (number == 1) { return 1; } else if (number == 2) { return 2; ... ...
分类:
其他好文 时间:
2017-07-30 23:45:13
阅读次数:
191
class Solution { public: int jumpFloor(int number) { // if (number == 1) { return 1; } else if (number == 2) { return... ...
分类:
其他好文 时间:
2017-07-30 23:41:35
阅读次数:
171
这次,我们来继续学习博弈论的知识。今天我们会学习更多的基础模型,以及SJ定理的应用。 首先,我们来看博弈论在DAG上的应用。首先来看一个小例子:在一个有向无环图中,有一个棋子从某一个点开始一直向它的出点移动,双方轮流操作,无法操作者输,问是否先手必胜。 考虑一下我们之前的Nim游戏,如果我们把后继状 ...
分类:
其他好文 时间:
2017-07-30 22:07:21
阅读次数:
247