
笔试面试题转载
linxhpku
这个作者很懒,什么都没留下…
展开
-
《编程之美》读书笔记集锦
《编程之美》读书笔记(一):中国象棋将帅问题 http://www.cnblogs.com/bvbook/archive/2008/07/24/1250507.html《编程之美》读书笔记(二):“求二进制数中1的个数”扩展问题 http://www.cnblogs.com/bvbook/archive/2008/07/24/1250535.html《编程之美》读书笔记(三): 一摞烙转载 2009-04-27 13:57:00 · 628 阅读 · 0 评论 -
程序员面试题精选100题(10)-在排序数组中查找和为给定值的两个数字
http://zhedahht.blog.163.com/blog/static/2541117420072143251809/ 题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输转载 2009-05-04 13:48:00 · 348 阅读 · 0 评论 -
程序员面试题精选100题(12)-从上往下遍历二元树
http://zhedahht.blog.163.com/blog/static/2541117420072199173643/ 题目:输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印。 例如输入 8 / / 6 10 // // 5 7 9 11输出8 6 10 5 7 9 1转载 2009-05-04 13:50:00 · 333 阅读 · 0 评论 -
程序员面试题精选100题(13)-第一个只出现一次的字符
http://zhedahht.blog.163.com/blog/static/25411174200722191722430/ 题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。转载 2009-05-04 13:52:00 · 252 阅读 · 0 评论 -
程序员面试题精选100题(17)-把字符串转换成整数
http://zhedahht.blog.163.com/blog/static/25411174200731139971/ 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。转载 2009-05-04 14:05:00 · 314 阅读 · 0 评论 -
程序员面试题精选100题(19)-反转链表
http://zhedahht.blog.163.com/blog/static/2541117420073471124487/ 题目:输入一个链表的头结点,反转该链表,并返回反转后链表的头结点。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};转载 2009-05-04 14:07:00 · 603 阅读 · 0 评论 -
程序员面试题精选100题(20)-最长公共子串
http://zhedahht.blog.163.com/blog/static/254111742007376431815/ 题目:如果字符串一的所有字符按其在字符串中的顺序出现在另外一个字符串二中,则字符串一称之为字符串二的子串。注意,并不要求子串(字符串一)的字符必须连续出现在字符串二中。请编写一个函数,输入两个字符串,求它们的最长公共子串,并打印出最长公共子串。 例如:输入两转载 2009-05-04 14:08:00 · 369 阅读 · 0 评论 -
程序员面试题精选100题(26)-和为n连续正数序列
http://zhedahht.blog.163.com/blog/static/25411174200732711051101/ 题目:输入一个正数n,输出所有和为n连续正数序列。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5、4-6和7-8。转载 2009-05-04 14:13:00 · 340 阅读 · 0 评论 -
程序员面试题精选100题(28)-字符串的排列
http://zhedahht.blog.163.com/blog/static/254111742007499363479/ 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。转载 2009-05-04 14:15:00 · 416 阅读 · 0 评论 -
程序员面试题精选100题(29)-调整数组顺序使奇数位于偶数前面
http://zhedahht.blog.163.com/blog/static/25411174200741295930898/ 题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。转载 2009-05-04 14:16:00 · 347 阅读 · 0 评论 -
程序员面试题精选100题(02)-设计包含min函数的栈
http://zhedahht.blog.163.com/blog/static/25411174200712895228171/ 题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。转载 2009-05-04 13:32:00 · 342 阅读 · 0 评论 -
程序员面试题精选100题(04)-在二元树中找出和为某一值的所有路径
http://zhedahht.blog.163.com/blog/static/254111742007228357325/ 题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树转载 2009-05-04 13:36:00 · 395 阅读 · 0 评论 -
程序员面试题精选100题(15)-含有指针成员的类的拷贝
http://zhedahht.blog.163.com/blog/static/25411174200722710364233/ 题目:下面是一个数组类的声明与实现。请分析这个类有什么问题,并针对存在的问题提出几种解决方案。templatetypename T> class Array{public: Array(unsigned arraySize):data(0),转载 2009-05-04 13:57:00 · 339 阅读 · 0 评论 -
程序员面试题精选100题(16)-O(logn)求Fibonacci数列
http://zhedahht.blog.163.com/blog/static/25411174200722991933440/ 题目:定义Fibonacci数列如下: / 0 n=0f(n)= 1 n=1 / f(n-1)+f(n-2)转载 2009-05-04 13:58:00 · 354 阅读 · 0 评论 -
程序员面试题精选100题(18)-用两个栈实现队列
http://zhedahht.blog.163.com/blog/static/2541117420073293950662/ 题目:某队列的声明如下:templatetypename T> class CQueue{public: CQueue() {} ~CQueue() {} void appendTail(const T& node)转载 2009-05-04 14:06:00 · 330 阅读 · 0 评论 -
程序员面试题精选100题(25)-在从1到n的正数中1出现的次数
http://zhedahht.blog.163.com/blog/static/25411174200732494452636/ 题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。转载 2009-05-04 14:13:00 · 321 阅读 · 0 评论 -
程序员面试题精选100题(27)-二元树的深度
http://zhedahht.blog.163.com/blog/static/25411174200732975328975/ 题目:输入一棵二元树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。例如:输入二元树: 10转载 2009-05-04 14:14:00 · 332 阅读 · 0 评论 -
程序员面试题精选100题(07)-翻转句子中单词的顺序
http://zhedahht.blog.163.com/blog/static/254111742007289205219/ 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。转载 2009-05-04 13:40:00 · 312 阅读 · 0 评论 -
程序员面试题精选100题(01)-把二元查找树转变成排序的双向链表
转自 http://zhedahht.blog.163.com/blog/static/254111742007127104759245/ 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树 10转载 2009-05-04 13:27:00 · 316 阅读 · 0 评论 -
程序员面试题精选100题(05)-查找最小的k个元素
http://zhedahht.blog.163.com/blog/static/2541117420072432136859/ 题目:输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。转载 2009-05-04 13:37:00 · 335 阅读 · 0 评论 -
程序员面试题精选100题(06)-判断整数序列是不是二元查找树的后序遍历结果
http://zhedahht.blog.163.com/blog/static/25411174200725319627/ 题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / / 6转载 2009-05-04 13:39:00 · 319 阅读 · 0 评论 -
程序员面试题精选100题(08)-求1+2+...+n
http://zhedahht.blog.163.com/blog/static/2541117420072915131422/ 题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。转载 2009-05-04 13:41:00 · 372 阅读 · 0 评论 -
程序员面试题精选100题(09)-查找链表中倒数第k个结点
http://zhedahht.blog.163.com/blog/static/2541117420072114478828/ 题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode{ int m_nKey; ListNode* m_pNext;};转载 2009-05-04 13:46:00 · 388 阅读 · 0 评论 -
程序员面试题精选100题(11)-求二元查找树的镜像
http://zhedahht.blog.163.com/blog/static/2541117420072159363370/ 题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / / 6 10 // //5 7 9转载 2009-05-04 13:49:00 · 344 阅读 · 0 评论 -
程序员面试题精选100题(14)-圆圈中最后剩下的数字
http://zhedahht.blog.163.com/blog/static/2541117420072250322938/ 题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。转载 2009-05-04 13:56:00 · 298 阅读 · 0 评论 -
程序员面试题精选100题(21)-左旋转字符串
http://zhedahht.blog.163.com/blog/static/2541117420073993725873/ 题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。转载 2009-05-04 14:09:00 · 294 阅读 · 0 评论 -
程序员面试题精选100题(22)-整数的二进制表示中1的个数
http://zhedahht.blog.163.com/blog/static/2541117420073118945734/ 题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。转载 2009-05-04 14:10:00 · 318 阅读 · 0 评论 -
程序员面试题精选100题(23)-跳台阶问题
http://zhedahht.blog.163.com/blog/static/25411174200731844235261/ 题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。转载 2009-05-04 14:12:00 · 740 阅读 · 0 评论 -
程序员面试题精选100题(33)-在O(1)时间删除链表结点
http://zhedahht.blog.163.com/blog/static/254111742007112255248202/ 题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};函数的声明如下转载 2009-05-04 14:19:00 · 338 阅读 · 0 评论 -
程序员面试题精选100题(34)-找出数组中两个只出现一次的数字
http://zhedahht.blog.163.com/blog/static/2541117420071128950682/ 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。转载 2009-05-04 14:20:00 · 389 阅读 · 0 评论 -
程序员面试题精选100题(36)-在字符串中删除特定的字符
http://zhedahht.blog.163.com/blog/static/25411174200801931426484/题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。转载 2009-05-04 14:22:00 · 522 阅读 · 0 评论 -
程序员面试题精选100题(03)-求子数组的最大和
http://zhedahht.blog.163.com/blog/static/254111742007219147591/ 题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10转载 2009-05-04 13:35:00 · 355 阅读 · 0 评论 -
程序员面试题精选100题(30)-异常安全的赋值运算符重载函数
http://zhedahht.blog.163.com/blog/static/25411174200741543224391/ 题目:类CMyString的声明如下:class CMyString{public: CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyS转载 2009-05-04 14:16:00 · 368 阅读 · 0 评论 -
程序员面试题精选100题(32)-不能被继承的类
http://zhedahht.blog.163.com/blog/static/25411174200793181548842/ 题目:用C++设计一个不能被继承的类。转载 2009-05-04 14:18:00 · 457 阅读 · 0 评论 -
程序员面试题精选100题(35)-找出两个链表的第一个公共结点
http://zhedahht.blog.163.com/blog/static/254111742008053169567/ 题目:两个单向链表,找出它们的第一个公共结点。链表的结点定义为:struct ListNode{ int m_nKey; ListNode* m_pNext;};转载 2009-05-04 14:21:00 · 336 阅读 · 0 评论 -
程序员面试题精选100题(31)-从尾到头输出链表
http://zhedahht.blog.163.com/blog/static/2541117420079237185699/ 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};转载 2009-05-04 14:17:00 · 408 阅读 · 0 评论