下面是牛客网剑指Offer编程题的一些解题报告,目前还没刷完,会一篇篇加上来。
跳台阶
变态跳台阶
矩形覆盖
重建二叉树
替换空格
用两个栈代替队列
斐波那契数列
二进制中 1 的个数...
分类:
其他好文 时间:
2015-09-18 10:27:41
阅读次数:
182
问题描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。算法分析这个比较基础,懂斐波那契数列的意思就能写得出来了,不多说。需要注意的是,在牛客网上刷这题的时候不能用递归,递归会超时。代码实现class Solution10 {
public:
int Fibonacci(int n) {
if (n == 0){
retu...
分类:
其他好文 时间:
2015-09-17 01:15:21
阅读次数:
153
问题描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。
请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,
总共有多少种方法?解题思路n=1 - 只有横放一个矩形一种解决办法
n=2 - 有横放一个矩形,竖放两个矩形两种解决办法
n=3 - n=2的基础上加1个横向,n=1的基础上加2个竖向
n=4 - n=3的基础上加1个横向,n=2的基础上加2个竖向
·
·
·...
分类:
其他好文 时间:
2015-09-16 06:26:10
阅读次数:
145
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路递归,由上一步到这一步青蛙跳了一级或跳了两级,当前台阶数为n,那跳n级台阶的方法数就是问跳n-1和跳n-2级楼梯方法数相加。由此可看出,这是一个斐波那契数列。
结束条件就是当n=1时,只有一种方法(跳一级);n=0时,0种方法;当n=2时,有两种方法(一次跳一级,跳两次;一次直接跳两级)代码实...
分类:
其他好文 时间:
2015-09-16 06:25:49
阅读次数:
150
题目的大意是,已知有n阶楼梯,每次只能爬1阶或2阶楼梯,问爬到第n阶楼梯共有几种爬法。题目可以看成是,设f(n)表示爬到第n 阶楼梯的方法数,为了爬到第n阶楼梯,有以下两种选择:
? 从第f(n-1)阶前进1步;
? 从第f(n-2)阶前进2步;
则`f(n)`可写成:f(n) = f(n-1) + f(n-2)
题目可转化为斐波那契数列的问题。...
分类:
其他好文 时间:
2015-09-16 00:56:19
阅读次数:
185
描述大家对斐波那契数列想必都很熟悉:a0= 1, a1= 1, ai= ai-1+ ai-2,(i > 1)。现在考虑如下生成的斐波那契数列:a0= 1,ai= aj+ ak, i > 0, j, k从[0, i-1]的整数中随机选出(j和k独立)。现在给定n,要求求出E(an),即各种可能的a数列...
分类:
其他好文 时间:
2015-09-12 14:47:23
阅读次数:
164
Python代码如下:a,b=0,1whileb<10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:print(b)a,b=b,a+b打印结果如下:1123581321345589144233377610987159725844181676510946177112865746368750251213931964183178115142298320401..
分类:
编程语言 时间:
2015-09-11 17:36:23
阅读次数:
503
取自coursera.org上公开课北京大学《C程序设计进阶》递归调用注意的点1.关注点放在求解的目标上,递推是,目标放在开头2.找到第N次和第(N-1)次之间的关系,通项公式3.给出边界(比如第1次执行结果,斐波那契数列是第1次和第2次结果)#include using namespace std...
分类:
其他好文 时间:
2015-09-08 18:21:10
阅读次数:
207
Fibonacci
Time Limit: 1000MS
Memory Limit: 65536K
Total Submissions: 11123
Accepted: 7913
Description
In the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn...
分类:
其他好文 时间:
2015-08-30 21:27:50
阅读次数:
190