面试题
changbaolong
这个作者很懒,什么都没留下…
展开
-
对称字符串的最大长度
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。要判断一个字符串是不是对称的,不是一件很难的事情。我们可以先得到字符串首尾两个字符,判断是不是相等。如果不相等,那该字符串肯定不是对称的。否则转载 2013-09-30 10:46:39 · 1036 阅读 · 0 评论 -
整数的素数和分解问题
问题描述歌德巴赫猜想说任何一个不小于6的偶数都可以分解为两个奇素数之和。 对此问题扩展,如果一个整数能够表示成两个或多个素数之和,则得到一个素数和分解式。 对于一个给定的整数,输出所有这种素数和分解式。 注意,对于同构的分解只输出一次(比如5只有一个分解2 + 3,而3 + 2是2 + 3的同构分解式)。 例如,对于整数8,可以作为如下三种分解: (1) 8 = 2 +原创 2013-10-16 10:49:03 · 1846 阅读 · 0 评论 -
单个子序列相关算法
字符串算法在面试中经常出现,现在总结下单个字符串算法的类别:1、最长递增子序列 问题描述: 设L=a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=aK1,ak2,…,akm>,其中k12m且aK1k2km。求最大的m值。 动态规划求解: 以坐标i结尾的序列的最长递增子序列和其[0,i-1]“前缀”的最长递增子序列有关,设C[i原创 2013-10-14 14:48:40 · 915 阅读 · 0 评论 -
复杂链表的复制
转载自:http://www.cnblogs.com/daniagger/archive/2012/06/19/2555321.html复杂链表的复制Q:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。请完成函数ComplexNode* Clone(ComplexNode* pHead),转载 2013-09-27 20:01:48 · 1173 阅读 · 0 评论 -
历年百度校园招聘笔试题
转载自:http://wenku.baidu.com/view/7bc36e8d6529647d272852ca.html一:简答题(30) 1:数据库以及线程发生死锁的原理及必要条件,如何避免死锁(操作系统书上有) 2:面向对象的三个基本元素,五个基本原则(继承,封装,多态,基本原则没答上) 3:windows内存管理的机制以及优缺点(分页,分段,虚拟内存管理....) 二:转载 2013-09-28 11:04:07 · 1512 阅读 · 0 评论 -
求一个字符串s的最大连续递增数字子串
#include #include char* getSubStr(char *str,char *result){ char *p = str;//引用字符串 char *start = NULL;//字串开始位置的字符指针 //sublen字串的长度 count字符出现的次数,因为最后不满足条件的那个数也要计算在内,所以初始化为1 int sublen=0,count=转载 2013-09-27 22:46:23 · 2117 阅读 · 0 评论 -
输出1到最大的N位数
题目:输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999。分析:这是一道很有意思的题目。看起来很简单,其实里面却有不少的玄机。应聘者在解决这个问题的时候,最容易想到的方法是先求出最大的n位数是什么,然后用一个循环从1开始逐个输出。很快,我们就能写出如下代码:// Print numbers from 1 to the ma转载 2013-09-26 23:04:19 · 705 阅读 · 0 评论 -
一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写程序找出这两个只出现一次的数字
首先来一道简单的题目:一个数组中,除了一个数字,其他数字都出现了两次,我们如何找出那个不同的数字,很简单,将所有的数字都异或,那么最终结果就是要找的数字,因为相同的数字异或结果就是0那么现在来思考这个题目:《编程之美》一书提供了一种方法,即将所有的数字进行一个异或,得到一个数字,然后以该数字的某非0为作为过滤位,将数组分为两个部分,此时出现一次的数字会分到不同的部分,现在的转载 2013-09-26 22:48:55 · 4511 阅读 · 3 评论 -
扑克牌的顺子
转载自:http://blog.csdn.net/unimen/article/details/6820975/*题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数 字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。 *//* Author: Unimen Date: 26/09/2011转载 2013-09-27 14:35:42 · 837 阅读 · 0 评论 -
华为面试2:1分2分5分的硬币,组成1角,共有多少种组合。
转载自:http://blog.csdn.net/iamzhaiwei/article/details/7718000动态规划,注意不要有重复的,例如组成1角钱,5 2 2 1 和 1 2 2 5是1种组合算法的设计思想在程序中注释的很清楚。解法一:[cpp] view plaincopy// 动态规划 // t转载 2013-10-09 21:12:13 · 1843 阅读 · 0 评论 -
一个有序数列,序列中的每一个值都能够被2或者3或者5所整除
一个有序数列,序列中的每一个值都能够被2或者3或者5所整除,1是这个序列的第一个元素。求第1500个值是多少? 2、3、5的最小公倍数是30。[ 1, 30]内符合条件的数有22个。如果能看出[ 31, 60]内也有22个符合条件的数,那问题就容易解决了。也就是说,这些数具有周期性,且周期为30. 第1500个数是:1500/22=68 150原创 2013-10-09 16:25:41 · 2967 阅读 · 1 评论 -
走台阶问题
问题腾讯的一道面试题:一个楼梯有50个台阶,每一步可以走一个台阶,也可以走两个台阶,请问走完这个楼梯共有多少种方法?博主把这题分析的很麻烦。引来很多人围观。我以前也碰到过这个问题。写出来和大家分享一下。举个例子,假设有3个台阶,则有三种走法:分别是,1-1-1, 1-2, 2-1。分析简单的一道题,学过组合数学的人很快就能想到,这是一个递推关系。假设走完k个台阶有f转载 2013-09-23 08:49:25 · 837 阅读 · 0 评论 -
最长公共子字符串
子字符串的定义和子序列的定义类似,但要求是连续分布在其他字符串中。比如输入两个字符串BDCABA和ABCBDAB的最长公共字符串有BD和AB,它们的长度都是2。 最长公共子字符串共有两种解决方法,下面具体说说我的思路方法一: Longest Common Substring和Longest Common Subsequence是有区别的 X转载 2013-10-07 21:54:18 · 970 阅读 · 0 评论 -
在一个文件中有10G个整数,乱序排列,要求找出中位数
转载自:http://blog.csdn.net/xiucaijiang/article/details/6769543题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。关于中位数:数据排序后,位置在最中间的数值。即将数据分成两部分转载 2013-10-07 16:12:46 · 1090 阅读 · 0 评论 -
Catalan数(卡特兰数)
Catalan数(卡特兰数)2012-04-12 21:08:13标签:卡特兰数原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://buptdtt.blog.51cto.com/2369962/832586卡特兰数:规定h(0)=1,而h(1)=1,h(2)=2,h(3)=5,h(4)=14,h(转载 2013-09-22 18:54:00 · 629 阅读 · 0 评论 -
一个文件中有40亿个整数,求出这个文件里的整数里不包含的一个整数
一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数4个字节表示的整数,总共只有2^32约等于4G个可能。为了简单起见,可以假设都是无符号整数。分配500MB内存,每一bit代表一个整数,刚好可以表示完4个字节的整数,初始值为0。基本思想每读入一个数,就把它对应的bit位置为1,处理完40G个数后,对500M的内存遍历,找出一转载 2013-10-07 16:12:41 · 1579 阅读 · 0 评论 -
几种进程间的通信方式
# 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。# 有名管道 (named pipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。# 信号量( semophore ) : 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正转载 2013-10-04 10:12:19 · 913 阅读 · 0 评论 -
《编程之美》中黑球,白球各100,问最后剩下一个是黑球的概率
转载自:http://blog.csdn.net/hardbrave/article/details/7005652题目:有一个桶,里面有白球、黑球各100个,人们必须按照以下的规则把球取出来:1、每次从桶里面拿出来两个球;2、如果是两个同色的球,就再放入一个黑球;3、如果是两个异色的球,就再放入一个白球;问:最后桶里面只剩下一个黑球的概率是多少?思路1转载 2013-09-30 14:37:01 · 6138 阅读 · 0 评论