递归实现是最常想到的方法,代码如下:
//递归方式
long Fibonacci(unsigned n)
{
if (n==0)
{
return 0;
}
else if (n==1)
{
return 1;
}
else
{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
显然递归并不是最好的方法,当n较大时效率将非常低下。
...
分类:
其他好文 时间:
2015-05-10 12:59:56
阅读次数:
159
题目:
请实现一个函数,输入一个整数,输出改数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,改函数输出2。
常规解法:
int CountbitOne(int n)
{
int count=0;
while(n)
{
if (n&1)
{
count++;
}
n=n>>1;
}
return count;
}
最优解法思...
分类:
其他好文 时间:
2015-05-10 12:59:38
阅读次数:
141
旋转数组中包含两个递增排序的子数组,有阴影背景的是第二个子数组。
如下图所示:
(1)把Pl指向数组的第一个数字,P2指向数组的最后一个数字。由于Pl和P2中间的数字5大于P1指向的数字,中间的数字在第一个子数组中。下一步把P1指向中间的数字。
(2) Pl和P2中间的数字1小于P2指向的数字,中间的数字在第二个子数组中。下一步把P2指向中间的数字。
(3)P1和P2指向两个相邻的...
分类:
编程语言 时间:
2015-05-09 19:08:18
阅读次数:
121
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。
template class CQueue{
public:
CQueue();
~CQueue();
void appendTail(const T &node);
T deleteHead();
private:
st...
分类:
其他好文 时间:
2015-05-08 22:05:03
阅读次数:
156
题目:
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含童复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示的二叉树并输出它的头结点。
二叉树结点的定义如下:
struct BinaryTreeNode{
int m_nValue;
Bin...
分类:
其他好文 时间:
2015-05-08 00:04:53
阅读次数:
159
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:鉴于数组的规律性,选取数组查找范围的右上角数字,如果与查找的数字相等, 则返回true;如果比查找的数字大,则将该数字所在...
分类:
编程语言 时间:
2015-05-07 23:40:51
阅读次数:
144
题目:
输入一个正整数数组,把数组里面的所有数字连接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3, 32, 321},则打印这三个数字能排成的最小数字321323。
基本思想:
两个数字m和n能拼接数字mn和nm。如果mn
如对321和32,排序为32132
#include
using namespace std;
const int g_MaxN...
分类:
编程语言 时间:
2015-05-06 11:07:35
阅读次数:
126
/////这段代码不忍直视,想不通这样在牛客剑指offer上都可以通过.。
#include
using namespace std;
struct ListNode
{
int val;
struct ListNode *next;
ListNode(int x):val(x),next(NULL){}
};
void show(ListNode *root);
class So...
分类:
编程语言 时间:
2015-05-05 16:37:06
阅读次数:
120
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};
*/
class Solution {
public:
vector PrintFromTopToBottom(T...
分类:
编程语言 时间:
2015-05-05 16:34:59
阅读次数:
111