每天一道笔试题
huangxiaominglipeng
这个作者很懒,什么都没留下…
展开
-
把二元查找树转变成排序的双向链表
把二元查找树转变成排序的双向链表题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ \6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树节点的数据结构如下:struct BSTreeNode{int m_nValue; // value of nodeBSTreeNode *m_pLeft; // left childof nodeBSTreeNo原创 2021-07-04 23:31:49 · 425 阅读 · 2 评论 -
java中==和equals和hashCode的区别
java中==和equals和hashCode的区别基本数据类型的==比较的值相等.类的==比较的内存的地址,即是否是同一个对象,在不覆盖equals的情况下,同比较内存地址,原实现也为 == ,如String等重写了equals方法.hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等比较是否为同一个)如果两个对象equals,Java运行时环境会认为他们的hashcode一定相等。如果两个对象不equ原创 2021-07-04 09:26:34 · 1147 阅读 · 0 评论 -
12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。 13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)
12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)分析:由于并未说明那个球的重量是轻是重,所以6、6分组,三次是做不到的。4、4、4分组,①②③④ ⑤⑥⑦⑧ ⑨⑩原创 2016-10-13 18:55:57 · 8400 阅读 · 1 评论 -
在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)
在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)答案:原创 2016-10-13 18:54:09 · 3760 阅读 · 0 评论 -
在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次? 都分别是什么时间?你怎样算出来的?(5分钟-15分钟)
在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟)分析:假设一天24小时表示为(0,24]注意:时针和分钟是移动着走秒针是跳着走,意味着,秒针只能是整数。时钟:角速度w=360°/12小时=30°/小时=0.5°/min分钟:w原创 2016-10-13 18:52:14 · 12620 阅读 · 0 评论 -
五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2、3、4、5)
五个海盗抢到了100颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2、3、4、5) 首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼 如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他原创 2016-10-13 18:51:08 · 5468 阅读 · 0 评论 -
一道关于飞机加油的问题
一道关于飞机加油的问题,已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈, 问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场) 分析:解答:如图原创 2016-10-13 18:47:51 · 1273 阅读 · 0 评论 -
2012 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
九月十月百度人搜,阿里巴巴,腾讯华为小米搜狗笔试面试八十题9月11日, 京东:谈谈你对面向对象编程的认识8月20日,金山面试,题目如下: 数据库1中存放着a类数据,数据库2中存放着以天为单位划分的表30张(比如table_20110909,table_20110910,table_20110911),总共是一个月的数据。表1中的a类数据中有一个字段userid来唯转载 2014-10-21 11:08:55 · 10672 阅读 · 0 评论 -
有4张红色的牌和4张蓝色的牌,主持人先拿任意两张,剩余6张再分别在A、B、C三人额头上贴任意两张牌, A、B、C三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌, A说不知道,
有4张红色的牌和4张蓝色的牌,主持人先拿任意两张,剩余6张再分别在A、B、C三人额头上贴任意两张牌,A、B、C三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌,A说不知道,B说不知道,C说不知道,然后A说知道了。请教如何推理,A是怎么知道的。如果用程序,又怎么实现呢?分析:ABC三人头上的组合有三种:r原创 2016-10-13 19:16:57 · 2795 阅读 · 1 评论 -
九月腾讯,创新工场,淘宝等公司最新面试三十题(第171-200题)
九月腾讯,创新工场,淘宝等公司最新面试三十题(第171-200题)引言 曾记否,去年的10月份也同此刻一样,是找工作的高峰期,本博客便是最初由整理微软等公司面试题而发展而来的。如今,又即将迈入求职高峰期--10月份,所以,也不免关注了网上和我个人建的算法群Algorithms1-12群内朋友发布和讨论的最新面试题。特此整理,以飨诸位。至于答案,望诸位共同讨论与思考。转载 2014-10-21 11:09:17 · 1018 阅读 · 0 评论 -
一个岔路口分别通向诚实国和说谎国。 来了两个人,已知一个是诚实国的,另一个是说谎国的。 诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国, 但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(
一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟)注意:只能有一次提问机会,单独问一人和一起问都可以。分析:你直接问那两个人:“请问你们的国家怎么走。”原创 2016-10-13 18:58:54 · 12765 阅读 · 0 评论 -
如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀, 问你如何才能准确称出4公升的水?(40秒-3分钟)
如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟) 分析:1、只要称出1公升的水即可,(在加3公升) 把满的3公升桶中的水倒入5公升桶中,再一次把3公升桶中的2公升倒入5公升 这个时候3公升桶只剩1公升水。2、3公原创 2016-10-13 19:00:22 · 3803 阅读 · 1 评论 -
你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。 抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)
你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 分析:1、里面有三种颜色时,需要4个2、里面有2种颜色时,需要3个3、里面有1种颜色时,需要2个所有抓取4个就可以确定有2个同一颜色的果冻了。原创 2016-10-13 19:01:29 · 9655 阅读 · 1 评论 -
烧一根不均匀的绳,从头烧到尾总共需要1个小时。 现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?分析:关键在于不均匀,不然就更好处理了,就是在折半,折半,就好理解了。关键在:两头烧A绳从两头烧,同时B绳只烧一头,30分钟后,A烧完了,同时B绳另一头也点燃,开始两头烧,烧完是15分钟加起原创 2016-10-13 19:02:49 · 20134 阅读 · 0 评论 -
有1000桶酒,其中1桶有毒。而一旦吃了,毒性会在1周后发作。 现在我们用小老鼠做实验,要在1周内找出那桶毒酒,问最少需要多少老鼠。 (老鼠的使用量越少越好,注意,毒性1周后才会发作,而且一周后必须出
有1000桶酒,其中1桶有毒。而一旦吃了,毒性会在1周后发作。现在我们用小老鼠做实验,要在1周内找出那桶毒酒,问最少需要多少老鼠。(老鼠的使用量越少越好,注意,毒性1周后才会发作,而且一周后必须出结果,所以时间紧迫) 分析:1000桶酒最少需要10位二进制来编码00 0000 0000分别对应10只老鼠例如:3号酒桶有毒(00 0000 0011原创 2016-10-13 19:05:51 · 4656 阅读 · 0 评论 -
你让一些人为你工作了七天,你要用一根金条作为报酬。金条被分成七小块,每天给出一块。 如果你只能将金条切割两次,你怎样分给这些工人?
你让一些人为你工作了七天,你要用一根金条作为报酬。金条被分成七小块,每天给出一块。如果你只能将金条切割两次,你怎样分给这些工人?答案:1、2、4原创 2016-10-13 19:29:46 · 2172 阅读 · 0 评论 -
有两个房间,一间房里有三盏灯,另一间房有控制着三盏灯的三个开关, 这两个房间是分割开的,从一间里不能看到另一间的情况。 现在要求受训者分别进这两房间一次,然后判断出这三盏灯分别是由哪个开关控制的。
有两个房间,一间房里有三盏灯,另一间房有控制着三盏灯的三个开关,这两个房间是分割开的,从一间里不能看到另一间的情况。现在要求受训者分别进这两房间一次,然后判断出这三盏灯分别是由哪个开关控制的。有什么办法呢?分析:只用开和关两个属性,不能区分三种东西,所以需要引入第三属性,例如温度、闪烁等等。原创 2016-10-13 19:31:12 · 6919 阅读 · 0 评论 -
一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。 求总共有多少总跳法,并分析算法的时间复杂度。
一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。设:总共有F(n)种跳法那么,F(1) = 1;F(2)= 2;F(n) = F(n-1)+F(n-2); n>2Fibonacci 时间复杂度O(n)原创 2016-10-13 19:33:17 · 2503 阅读 · 0 评论 -
在字符串中删除特定的字符(字符串)。 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串
在字符串中删除特定的字符(字符串)。题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。分析:这是一道微软面试题。在微软的常见面试题中,与字符串相关的题目占了很大的一部分,因为写程序操作字符串能很好的反映我们的编程基本功。原创 2016-10-13 19:45:12 · 5291 阅读 · 0 评论 -
算法--Catalan数
参考文章:http://blog.csdn.net/wuzhekai1985/article/details/6764858原创 2014-10-20 17:42:31 · 473 阅读 · 0 评论 -
九月十月百度,迅雷,华为,阿里巴巴笔试面试六十题(第411~470题)
九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9、10月份陪伴了至少三届毕业生找工作的旅程,包括校招中的笔试面试,今年也不会例外,我会在本博客开通3周年之际一如既往的陪伴大家一起成长。 本文所整理的全部笔试面试题要么来源于我群内群转载 2014-10-21 11:16:30 · 1694 阅读 · 0 评论 -
十月上旬百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)
十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)引言 当即早已进入10月份,十一过后,招聘,笔试,面试,求职渐趋火热。而在这一系列过程背后浮出的各大IT公司的笔试/面试题则蕴含着诸多思想与设计,细细把玩,思考一番亦能有不少收获。 上个月,本博客着重整理九月腾讯,创新工场,淘宝等公司最新面试十三题,此次重点整理百度,阿里巴巴,迅雷和搜索等转载 2014-10-21 11:21:17 · 861 阅读 · 0 评论 -
数据结构-二叉树的深度(递归和非递归的实现)
递归实现基本思想:为了求得树的深度,可以先求左右子树的深度,取二者较大者加1即是树的深度,递归返回的条件是若节点为空,返回0算法:int FindTreeDeep(BinTree BT){ int deep=0; if(BT){ int lchilddeep=FindTreeDeep(BT->lchild); int rchild转载 2014-07-08 16:53:56 · 1019 阅读 · 0 评论 -
《算法导论》第六章-堆排序(伪代码)
堆排序:原创 2014-10-15 15:23:19 · 5840 阅读 · 0 评论 -
《算法导论》第六章-优先级队列(伪代码)
//返回优先队列的最大值原创 2014-10-15 18:03:27 · 2144 阅读 · 0 评论 -
《算法导论》第七章-快速排序(伪代码)
快速排序伪代码:原创 2014-10-16 11:41:48 · 24234 阅读 · 2 评论 -
《算法设计》第15章-动态规划—装配线调度问题
f1[j] = e1+a1,1f2[j] = e2+a2,1原创 2014-10-17 11:38:15 · 769 阅读 · 0 评论 -
《算法导论》第15章-动态规划之0-1背包问题
参考文章:http://blog.csdn.net/yeepom/article/details/8712224原创 2014-10-20 17:26:27 · 519 阅读 · 0 评论 -
算法-过河问题
参考文章:http://blog.sina.com.cn/s/blog_41482c9f0100imky.html原创 2014-10-21 10:04:52 · 821 阅读 · 0 评论 -
数据结构-链式队列的实现
头文件Queue.h转载 2014-07-08 15:47:56 · 831 阅读 · 0 评论 -
数据结构-层次遍历二叉树
二叉树链表存储方式:struct BiNode{ Type data; struct BiNode *lchild,*rchild;//左右孩子指针}BiNode,*BiTree转载 2014-07-08 15:14:17 · 2260 阅读 · 0 评论 -
全新整理:微软、Google等公司的面试题及解答、第161-170题
全新整理:微软、Google等公司非常好的面试题及解答、第161-170题整理:July。时间:二零一一年四月十日。微博:http://weibo.com/julyweibo。出处:http://blog.csdn.net/v_JULY_v。------------------------------- 引言 此微软100题V0.2版的前60题转载 2014-10-21 11:30:56 · 1303 阅读 · 0 评论 -
全新整理:微软、谷歌、百度等公司经典面试100题[第101-160题]
全新整理:微软、谷歌、百度等公司经典面试100题[第101-160题]整理:July、二零一一年三月九日。应网友承诺与要求,全新整理。转载,请注明出处。博主说明:此100题V0.2版,本人不再保证,还会提供答案。-------------------------------------------- 微软十五道面试题1、有一个整数数组,请求出转载 2014-10-21 11:25:07 · 1036 阅读 · 0 评论 -
各大IT公司算法、数据结构面试题、分析、考点、解答(开篇)
各大IT公司有关算法、数据结构面试题、分析、考点、解答原创 2014-10-27 01:19:04 · 2044 阅读 · 0 评论 -
微软等公司数据结构+算法面试100题、分析、考点、解答(第1~100题)
1.把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \4 8 12 16 转换成双向链表4=6=8=10=12=14=16。 首先我们定义的二元查找树节点的数据结构如下: struct BSTreeNode原创 2014-10-27 01:27:14 · 5427 阅读 · 0 评论 -
面试Android工程师遇到的面试题
一:选择题【有四个选项,只有一个选项正确,每道题1.5分,共20道,总计30分】 1:下面的表达式错误的是A: float f=(1.9 + 0.1)/(int)1.0B: float f=1.0FC: float f=(float)1.0FD: float f=(int)(0.73+0.27); 解答:【A】因为小数默认是double类型的原创 2015-01-17 15:21:49 · 1697 阅读 · 1 评论 -
2015年TCL公司Android工程师面试题
1、请画出你主导的最有成就感一款app的模块架构图,并指出模块依赖关系。2、使用Android数据库创建一个通讯录表(属性:姓名,号码,性别),并添加查询和删除的contentprovide。3、实现一个5秒启动页面,然后跳转到MainActivity,需要考虑到跳转前关闭页面时,计数器取消的情况。4、已知一副扑克牌有52张,存放在cards[52]数据中,实现一个洗牌算法。5、在原创 2015-01-19 22:03:06 · 4221 阅读 · 0 评论 -
数据结构--二叉树--按给定的表达式创建相应的二叉树
例如:已知表达式 (a+b)×c– d/e 创建xiang已知表达式的先缀表示式:-*+abc/de。表达式 = (第一操作数)(运算符)(第二操作数)。把运算符当做根节点,第一、二操作数分别作为左右子树。(1)先缀表述法:运算符、第一操、第二操。如-*+abc/de。序列中,如果为操作数则一定是根节点,左右指针不为空;如果为字符,一定是叶子节点,左右指针为空。原创 2014-07-07 18:22:28 · 1421 阅读 · 0 评论 -
数据结构-递归遍历二叉树
#include#include#define STACK_INIT_SIZE 30#define STACKINCREMENT 10#define OK 1#define ERROR -1typedef char TElemType;typedef struct BiTNode{ TElemType data; struct BiTNode *lchild, *r原创 2014-07-08 10:50:15 · 643 阅读 · 0 评论 -
数据结构-非递归遍历二叉树
根据前序遍历访问的顺序,优先访问根结点,然后再分别访问左孩子和右孩子。即对于任一结点,其可看做是根结点,因此可以直接访问,访问完之后,若其左孩子不为空,按相同规则访问它的左子树;当访问其左子树时,再访问它的右子树。因此其处理过程如下: 对于任一结点P: 1)访问结点P,并将结点P入栈; 2)判断结点P的左孩子是否为空,若为空,则取栈顶结点并进行出栈操作,并将栈顶转载 2014-07-08 10:58:00 · 733 阅读 · 0 评论