码迷,mamicode.com
首页 >  
搜索关键字:剑指offer 面试题17    ( 3728个结果
【剑指offer】斐波那契数列(递归和非递归实现)
递归实现是最常想到的方法,代码如下: //递归方式 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
【剑指offer】二进制中1的个数
题目: 请实现一个函数,输入一个整数,输出改数二进制表示中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
【剑指offer】旋转数组的最小数字
旋转数组中包含两个递增排序的子数组,有阴影背景的是第二个子数组。 如下图所示: (1)把Pl指向数组的第一个数字,P2指向数组的最后一个数字。由于Pl和P2中间的数字5大于P1指向的数字,中间的数字在第一个子数组中。下一步把P1指向中间的数字。 (2) Pl和P2中间的数字1小于P2指向的数字,中间的数字在第二个子数组中。下一步把P2指向中间的数字。 (3)P1和P2指向两个相邻的...
分类:编程语言   时间:2015-05-09 19:08:18    阅读次数:121
【剑指offer】用两个栈实现队列
题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 template class CQueue{ public: CQueue(); ~CQueue(); void appendTail(const T &node); T deleteHead(); private: st...
分类:其他好文   时间:2015-05-08 22:05:03    阅读次数:156
【剑指offer】重建二叉树
题目:         输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含童复的数字。例如输入前序遍历序列{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
(剑指Offer)面试题3:二维数组中的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:鉴于数组的规律性,选取数组查找范围的右上角数字,如果与查找的数字相等, 则返回true;如果比查找的数字大,则将该数字所在...
分类:编程语言   时间:2015-05-07 23:40:51    阅读次数:144
剑指offer 面试题33—把数组排成最小的数
题目: 输入一个正整数数组,把数组里面的所有数字连接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{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
C++s合并两个链表(牛客剑指offer)
/////这段代码不忍直视,想不通这样在牛客剑指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
C++从上往下打印出二叉树的每个节点,同层节点从左至右打印(牛客剑指offer)
/* 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
剑指offer 数组中只出现一次的数字
剑指offer 数组中只出现一次的数字...
分类:编程语言   时间:2015-05-04 20:13:50    阅读次数:129
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!