随笔分类 -  面试系列

面试常见问题
IT公司100题-9-判断整数序列是不是二元查找树的后序遍历结果
摘要:问题描述:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入4, 8, 6, 12, 16, 14, 10,由于这一整数序列是如下树的后序遍历结果:10/ \614/\/ \4 8 12 16因此返回true。如果输入6, 5, 8,... 阅读全文

posted @ 2014-08-08 09:26 醉清风JM 阅读(169) 评论(0) 推荐(0)

IT公司100题-8-智力题
摘要:问题1:有两个房间,一间房里有三盏灯,另一间房有控制着三盏灯的三个开关,这两个房间是分割开的,从一间里不能看到另一间的情况。现在要求受训者分别进这两房间一次,然后判断出这三盏灯分别是由哪个开关控制的。有什么办法呢?分析:1.先走进有开关的房间,将三个开关编号为a b c。2.将开关a 打开5分钟,然... 阅读全文

posted @ 2014-08-01 16:06 醉清风JM 阅读(231) 评论(0) 推荐(0)

IT公司100题-7-判断两个链表是否相交
摘要:问题:有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。1、如何判断一个链表是不是这类链表?问题扩展:1.如果链表可能有环呢?2.如果需要求出两个链表相交的第一个节点呢?分析:在无环的情况下,如果两个链表有结点相同,那么它们下一结点也相同... 阅读全文

posted @ 2014-08-01 13:10 醉清风JM 阅读(173) 评论(0) 推荐(0)

IT公司100题-6-根据上排给出十个数,在其下排填出对应的十个数
摘要:问题描述:给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数要求下排每个数都是先前上排那十个数在下排出现的次数。上排的十个数如下:【0,1,2,3,4,5,6,7,8,9】举一个例子,数值: 0,1,2,3,4,5,6,7,8,9分配: 6,2,1,0,0,0,1,0,0,00在下排出现... 阅读全文

posted @ 2014-07-31 06:49 醉清风JM 阅读(274) 评论(0) 推荐(0)

IT公司100题-5-查找最小的k个元素
摘要:问题描述:输入n 个整数,输出其中最小的k 个。例如输入8, 7, 6, 5, 4, 3, 2, 1这8 个数字,则最小的3 个数字为3, 2, 1。分析:时间复杂度O(nlogn)方法:对n个整数升序排序,取数组前面k个数就是最小的k个数,时间复杂度为O(nlogn),空间复杂度为O(1)。大顶堆... 阅读全文

posted @ 2014-07-29 12:17 醉清风JM 阅读(333) 评论(0) 推荐(0)

IT公司100题-4-在二元树中找出和为某一值的所有路径
摘要:问题描述:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数30和如下二元树14/ \516/ \311则打印出两条路径:14, 16 和14, 5, 11。二元树节点的数据结构定义为:typedef struc... 阅读全文

posted @ 2014-07-29 12:08 醉清风JM 阅读(297) 评论(0) 推荐(0)

IT公司100题-3-求数组的最大子序列的和
摘要:问题描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2因此输出为该子数组... 阅读全文

posted @ 2014-07-28 18:25 醉清风JM 阅读(228) 评论(0) 推荐(0)

IT公司100题-2-设计带min函数的stack
摘要:问题描述:定义栈的数据结构,要求添加一个min 函数,能够得到栈的最小元素。要求函数min、push 以及pop 的时间复杂度都是O(1)。双倍空间实现:保存2个栈,分别是元素和当前最小值。压缩空间实现:? 1 // 2.cc 2 #include 3 #include 4 using name... 阅读全文

posted @ 2014-07-27 17:12 醉清风JM 阅读(191) 评论(0) 推荐(0)

IT公司100题-1-二叉树转换为双链表
摘要:问题描述:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 /\ 614/\/ \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下:struct BSTreeNode{ ... 阅读全文

posted @ 2014-07-27 11:40 醉清风JM 阅读(208) 评论(0) 推荐(0)

面试题目-findmax的实现
摘要:1 #include 2 #include 3 #include "printCollection.h" 4 5 using namespace std; 6 7 /** 8 * Return the maximum item in array a. 9 *Assume a.size(... 阅读全文

posted @ 2014-07-19 18:14 醉清风JM 阅读(398) 评论(0) 推荐(0)

面试题目-如何计算某个时刻时指针和分指针的夹角
摘要:发现此面试题目也经常粗线,木办法,记下来:某个时刻分指针的角度为360*minitues/60某个时刻时指针的角度为(360*hours/12+360/12/60*miniutes)%360故夹角为30*hours-5.5*minitues 阅读全文

posted @ 2014-07-11 15:17 醉清风JM 阅读(256) 评论(0) 推荐(0)

面试题目-atof与ftoa
摘要://///////////////////////////////////////////////////////////////////////////////// FileName : atof_ftoa.cpp// Author : Jimmy Han// Dat... 阅读全文

posted @ 2014-07-07 12:52 醉清风JM 阅读(602) 评论(0) 推荐(0)

面试题目-计算最大公约数
摘要:#include using namespace std;long gcd(long m, long n){ while(n != 0) { long rem = m%n; m = n; n = rem; } return m;}in... 阅读全文

posted @ 2014-07-05 15:41 醉清风JM 阅读(172) 评论(0) 推荐(0)

面试题目-用递归通过单字符输出打印多位的数字
摘要:#include using namespace std;void printDigit( int n ){ cout = 10 ) printOut( n / 10 ); printDigit( n % 10 );}int main( ){ printOut( 1... 阅读全文

posted @ 2014-07-05 15:31 醉清风JM 阅读(177) 评论(0) 推荐(0)

面试题目-链表反转
摘要:题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下:1 struct Node{2 object data;3 Node *prev;4 Node *next;5 Node(const objec... 阅读全文

posted @ 2014-07-03 22:57 醉清风JM 阅读(212) 评论(0) 推荐(0)

面试题目-比较两个数组的内容是否一致
摘要:题目: 判断两个数组内容是否一样,不计顺序答案:#include #include #include #include "../basic/utility.h"using namespace std;int main(){ //input string arr1, arr2; cout > arr1... 阅读全文

posted @ 2014-06-22 23:35 醉清风JM 阅读(744) 评论(0) 推荐(0)

面试题目-为什么素数有无穷多个
摘要:假设素数是有限的,假设素数只有有限的n个,最大的一个素数是p设q为所有素数之积加上1,那么,q = ( 2 * 3 * 5 * …… * p )+ 1不是素数那么,q可以被2、3、……、p中的数整除而q被这2、3、……、p中任意一个整除都会余1,与之矛盾所以,素数是无限的。(也可以这样说明:若能被小... 阅读全文

posted @ 2013-10-31 22:10 醉清风JM 阅读(492) 评论(0) 推荐(0)

编程之美 - 中国象棋
摘要:1 #include 2 3 int main() 4 { 5 struct { 6 unsigned char a:4; 7 unsigned char b:4; 8 } i; 9 10 for(i.a = 1; i.a <= ... 阅读全文

posted @ 2013-07-17 13:37 醉清风JM 阅读(183) 评论(0) 推荐(0)

面试题目-杨辉三角
摘要:1 /////////////////////////////////////////////////////////////////////////////// 2 // 3 // FileName : pascaltriangle.c 4 // Version : 0... 阅读全文

posted @ 2013-07-01 13:01 醉清风JM 阅读(357) 评论(0) 推荐(0)

面试题目-c和c++的区别
摘要:在很大程度上,标准C++是标准C的超集.实际上,所有C程序也是C++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别. 1. 在C++中,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,请注意,C99标准中取消了这种限制. ... 阅读全文

posted @ 2013-06-19 13:57 醉清风JM 阅读(1423) 评论(0) 推荐(0)

导航