- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 【2012百度之星/资格赛】J:百度的新大厦
描述继百度搜索框大厦之后,百度又于2012年初在深圳奠基了新的百度国际大厦,作为未来百度国际化的桥头堡。不同于百度在北京的搜索框大厦,新的百度国际大厦是一栋高楼,有非常多的楼层,让每个楼中的电梯都能到达所有楼层将是一个极为不明智的设计。因此,设计师给出了一个特别的设计——一共大厦有m个电梯,每个电梯只有两个按钮,(针对第i个电梯)两个按钮分别可以使电梯向上或ui层向下一定di层;百度国际大厦很
2012-05-30 15:07:30 5133 5
原创 【2012百度之星 / 资格赛】I:地图的省钱计划
描述百度地图有自己的一套坐标系(你可以把它看作一个笛卡尔坐标系),在这套坐标系里,一个标准单位为1km。而在这坐标系上针对地理信息进行标注的数据,大多数时候是通过购买的方式完成的。为了节约数据更新的成本,数据组里的鑫哥想出了一个好主意——自己测数据。鑫哥按照他的预想开始实验;在每组试验中,鑫哥选取了三个已经被准确标注在百度地图的坐标系里的移动运营商的基站作为信号接收点(这里可以准确的得到信
2012-05-30 14:59:41 3590 12
原创 【2012百度之星/资格赛】H:用户请求中的品牌
时间限制: 1000ms 内存限制: 65536kB描述馅饼同学是一个在百度工作,做用户请求(query)分析的同学,他在用户请求中经常会遇到一些很奇葩的词汇。在比方说“johnsonjohnson”、“duckduck”,这些词汇虽然看起来是一些词汇的单纯重复,但是往往都是一些特殊品牌的词汇,不能被拆分开。为了侦测出这种词的存在,你今天需要完成我给出的这个任务——“找出用户请
2012-05-30 14:57:48 3500 1
原创 【2012百度之星/资格赛】F:百科蝌蚪团
时间限制: 1000ms 内存限制: 65536kB描述百度百科有一支神奇的队伍,他们叫自己“百科蝌蚪团”。为了更好的让蝌蚪团的成员们安排工作,百度百科的运营团队定出了一个24小时制的时间表。例如:1. 每个蝌蚪团成员工作时长相同;2. 必须安排蝌蚪团成员在他们方便的时间段工作;3. 蝌蚪团成员安排时间最小安排时间节点(开始工作或停止工作)为半小时,
2012-05-30 14:54:56 3107 2
原创 【2012百度之星/资格赛】E:C++ 与Java
时间限制:2000ms 内存限制:65536kB描述在百度之星的贴吧里面,Java的爱好者和C++的爱好者总是能为这两种语言哪个更好争论上几个小时。Java的爱好者会说他们的程序更加整洁且不易出错。C++的爱好者则会嘲笑Java程序很慢而且代码很长。另一个Java和C++爱好者不能达成一致的争论点就是命名问题。在Java中一个多个单词构成的变量名应该按照如下格式命名:第一个
2012-05-30 14:34:52 3021
原创 【2012百度之星/资格赛】D:共同狂欢
时间限制:1000ms 内存限制:131072kB描述百度2005年8月5日上市时,在北京和纳斯达克的同学们每一个小时整点时就会通一次电话,对一下表,确认一切相关活动都精确同步。但是要注意,在两边的同学位于不同的时区,在夏时制时,两地时差12小时,因此,每次对表都需要做一下时区转换。你来帮我们完成这个有点麻烦的工作吧。输入输入的第一行包括一个整数T(T ≤ 30),
2012-05-30 14:32:27 3114
原创 【2012百度之星/资格赛】C: 易手机的套餐
时间限制: 1000ms 内存限制: 10000kB描述装载百度易平台的易手机已经上市,为了更好的为大家提供服务。百度与合作的运营商正在讨论为易手机用户推出一款特别的套餐,帮助大家更好的利用易手机。作为这个项目负责人的晓萌调研了大量用户使用这个套餐后会出现的资费预估,让我们来看看这个特别的套餐到底会带来怎样资费情况吧。输入输入数据包括十二行,每行包括一个数字(不含金
2012-05-30 14:28:17 2518
原创 【2012百度之星/资格赛】B:小诺爱USB设备
时间限制: 1000ms 内存限制: 65536kB描述在百度工作的小诺是一个USB设备迷,在他桌上有一堆的USB设备——USB鼠标、USB小音箱、USB按摩器……但是,公司配给小诺的ThinkPad X系列的电脑只有一个能用的USB接口。不过还好,小诺有一堆的USB Hub,可以把一个可用的USB接口变成多个USB接口。但是,小诺很难确定这些USB Hub能否满足他他众多的U
2012-05-30 14:26:07 3081
原创 有序数组求中位数问题
1、有两个已排好序的数组A和B,长度均为n,找出这两个数组合并后的中间元素,要求时间代价为O(logn)。2、假设两个有序数组长度不等,同样的求出中位数。一:解析: 这个题目看起来非常简单。第一题的话: 假设数组长度为n, 那么我就把数组1和数组2直接合并,然后再直接找到中间元素。对于这样的方案,第一题和第二题就没有什么区别了。这样的话时间复杂度就是O(n)。通常在这样的情况下,那些要求比
2012-05-20 15:15:25 18707 10
原创 经典面试题:链表的相交与环问题
1、 给出两个单向链表的头指针pHead1和pHead2,判断这两个链表是否相交。假设两个链表均不带环。 示意图如下:如果两个链表相交于某一节点,那么在这个相交节点之后的所有节点都是两个链表所共有的。也就是说,如果两个链表相交,那么最后一个节点肯定是共有的。先遍历第一个链表,记住最后一个节点,然后遍历第二个链表,到最后一个节点时和第一个链表的最后一个节点做比较,如果相同,则相交,否则不
2012-05-19 16:43:32 19118 3
原创 二分搜索及其扩展(循环递增数组的搜索)
二分搜索需要注意开闭区间的问题,限制条件和边界要保持配对:low二分搜索的模板如下:// 二分搜索int BinarySearch(int *num, int key, int low, int high){ int mid ; while(low <= high) //切记:条件是 <= ,很多次都不小心写成了 < ,导致了N多WA { mid = (low +
2012-05-18 21:40:27 11351 7
原创 2012 人民搜索 实习生招聘 笔试题
1、打印汉诺塔移动步骤,并且计算复杂度。方法是递归,将n-1层移到中间柱,然后将最底层移到目标柱,然后再把n-1层移到目标柱。f(n) = 2f(n-1) + 1 , f(1) = 1f(n) + 1 = 2( f(n-1) + 1 )f(n) = 2^n - 1T(n) = O(2^n);2、计算两个字符串的是否相似(字符的种类,和出现次数相同) 先比较strlen
2012-05-18 19:38:11 8706 11
原创 2012百度实习生招聘面试题
一面:第一题、任意给一个数,试证明这个数的某个倍数的十进制表示是01串,比如3的倍数111是二进制表示,5的倍数10是二进制表示,等等。假设序列1,11,111,1111…用A1~AN标识,下脚标N即为1的个数,如:A1=1,A2=11,A3=111…其中没有一个是N的倍数,即AK mod N不等于0(K属于1~N),并且AK mod N的余数各不相同,设它们为a1,a2,a3,…,a
2012-05-18 19:16:51 13514 10
原创 C++中智能指针的设计和使用
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷
2012-05-12 22:48:22 118819 66
原创 C 语言的可变参数表函数的设计
首先在介绍可变参数表函数的设计之前,我们先来介绍一下最经典的可变参数表printf函数的实现原理。一、printf函数的实现原理在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地
2012-05-11 23:10:18 20248 32
原创 C++中的抽象类以及接口的区别联系
一、抽象类和接口抽象类: 抽象类是特殊的类,不能被实例化(将定义了纯虚函数的类称为抽象类);除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的,但同时也能包括普通的方法。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。虽然不
2012-05-11 22:58:11 22479 3
原创 虚函数和纯虚函数的区别
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:class A{public: virtual void foo
2012-05-11 22:35:51 203197 50
原创 运算符重载
所谓重载,就是重新赋予新的含义,函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。运算符的重载主要存在两种形式,一种是作为类的成员函数进行使用,另一种则是作为类的友元函数进行使用。运算符的重载的形式为: 返回类型 operator 运算符符号(参数说明) { //函数体的内部实现 }例如,能否用“+”号进行两个复数的相加,
2012-05-10 15:22:14 6281 1
原创 百度2012实习生校园招聘笔试题
1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。字典树的典型应用,一般情况下,字典树的结构都是采用26叉树进行组织的,每个节点对应一个字母,查找的时候,就是一个字
2012-05-07 16:21:53 27939 35
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人