面试题
文章平均质量分 68
long504377009
这个作者很懒,什么都没留下…
展开
-
2020-09-02
public Monitor(){ jt1=new JTable(200, 10); jt1.setPreferredScrollableViewportSize(new Dimension(900,540)); jt1.setRowHeight(90); jt1.getTableHeader().setReorderingAllowed(false); //不可整列移动 jt1.getTableHeader().setResizingAllowed(false); /.原创 2020-09-02 18:00:03 · 255 阅读 · 0 评论 -
二叉树两结点的最低共同父结点
本文转自:http://zhedahht.blog.163.com/blog/static/25411174201081263815813/http://zhedahht.blog.163.com/blog/static/254111742008053169567/题目:二叉树的结点定义如下:struct TreeNode{ int m_nvalu转载 2013-08-09 05:10:27 · 994 阅读 · 0 评论 -
替换字符串中的空格
本文摘自《剑指offer》一书中的第4题:题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy”,则输出“We%20are%20happy”。看到这个题目,我们首先应该想到的是原来一个空格字符,替换之后变成'%,'2','0'这3个字符,因此字符串会变长。如果是是在原来的字符串上做替换,那么就有可能覆盖修改在该字符串后面的内存。如果是创建新的字符串并在转载 2013-08-11 19:09:49 · 899 阅读 · 0 评论 -
判断2棵二叉树是否相等
本文转自:http://s.sousb.com/?p=414题目:判断两颗二叉树是否相等,注意:相等包含两种:以下任意一种成立,root1和root2相等。1.root1的左子树与root2的左子树相同并且root1的右子树与root2的右子树相同。2.root1的左子树与root2的右子树相同并且root1的右子树与root2的左子树相同。分析:按照上述两转载 2013-08-15 13:35:49 · 1185 阅读 · 0 评论 -
递归:从尾到头输出链表& 从尾到头输出一个字符串 & 定义一个函数求字符串的长度,要求该函数体内不能声明任何变量
本文转自:http://zhedahht.blog.163.com/blog/static/2541117420079237185699/题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};分析:这是一道很有意思的面转载 2013-08-10 14:35:37 · 807 阅读 · 0 评论 -
C++虚函数
本文是根据以下日志收集而成:http://blog.csdn.net/haoel/article/details/1948051/ C++ 虚函数表解析 陈皓http://zhedahht.blog.163.com/blog/static/25411174201171214133316/ 程序员面试题精选100题(62) 何海涛前言C++中的虚函数的作用主转载 2013-08-02 11:33:46 · 736 阅读 · 0 评论 -
二叉树的操作
二叉树的一些操作:头文件:BinaryTree.h/***********BinaryTree.h************/struct BinaryTreeNode{ char m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;};//创建节点BinaryTreeNode* CreateNode(原创 2013-08-02 19:02:55 · 602 阅读 · 0 评论 -
排序算法
算法的稳定性:概念假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。判断方法对于不稳定的排序算法,只要举出一个实例,即可说明它的不稳定性;而对于稳定的排序算法,必须对算法进行原创 2013-08-16 16:44:10 · 963 阅读 · 0 评论 -
C++语言题
本文转载自:http://zhedahht.blog.163.com/blog/static/2541117420111169592105/题目:编译运行下图中的C++代码,结果是什么?(A)编译错误;(B)编译成功,运行时程序崩溃;(C)编译运行正常,输出10。请选择正确答案并分析原因。#include class A{private: int转载 2013-08-04 16:16:12 · 864 阅读 · 0 评论 -
改变数据的存储模式
改变数据的存储模式,如将一个整数的大端存储模式改为小端存储模式或将一个整数的小端存储模式改为大端存储模式做法就是,用一个临时变量反序存储参数中的内容,然后将这个变量再赋值给原参数,可以用引用,这样就可以改变原参数的值。·具体实现就是定义一个temp=0变量,然后将参数x从低到高的字节依次或上temp,最后让参数x = temp就完成了。因为参数是传递的引用,所以改变参数的值会改变原始传递给原创 2013-08-12 17:04:28 · 816 阅读 · 0 评论 -
二分查找
#include /*二分查找,找到返回所寻找元素在数组中的下标值,否则返回-1表示没有找到*/int binary_find(int leftIndex,int rightIndex,int value,int a[]){ //中间值的下标 int midIndex = (leftIndex + rightIndex)/2; //中间值 int midValue = a[mid原创 2013-08-12 16:56:29 · 579 阅读 · 0 评论 -
判断一个序列是否是二叉查找树的后序、前序、中序遍历序列
本文参考:http://zhedahht.blog.163.com/blog/static/25411174200725319627/题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 /转载 2013-08-08 15:51:42 · 2876 阅读 · 0 评论 -
复杂链表的复制
转自:http://zhedahht.blog.163.com/blog/static/254111742010819104710337/ 题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。其结点的C++定义如下: struct ComplexNode{ int m_nVal转载 2013-08-05 12:43:29 · 677 阅读 · 0 评论 -
递归:跳台阶问题
本文转自:http://zhedahht.blog.163.com/blog/static/25411174200731844235261/题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。分析:这道题最近经常出现,包括MicroStrategy等比较重视算法的公司都曾先后选用过个这道题作为面试题或者笔试题。首先我们转载 2013-08-10 15:41:43 · 978 阅读 · 0 评论 -
数值的整数次方
本文转自:http://zhedahht.blog.163.com/blog/static/254111742009101563242535/题目:实现函数double Power(double base, int exponent),求base的exponent次方。不需要考虑溢出。分析:这是一道看起来很简单的问题。可能有不少的人在看到题目后30秒写出如下的代码:doub转载 2013-08-05 22:33:50 · 729 阅读 · 0 评论 -
对称子字符串的最大长度
本文转自:http://zhedahht.blog.163.com/blog/static/25411174201063105120425/题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加强版。转载 2013-08-05 21:13:51 · 775 阅读 · 0 评论 -
和为n连续正数序列 & 排序数组中和为给定值的两个数字
本文转自:http://zhedahht.blog.163.com/blog/static/25411174200732711051101/http://zhedahht.blog.163.com/blog/static/2541117420072143251809/题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复转载 2013-08-06 13:29:25 · 834 阅读 · 0 评论 -
整数二进制表示中1的个数
本文转自:http://zhedahht.blog.163.com/blog/static/2541117420073118945734/题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。一个很基本的想法是,我们先判断整数的最转载 2013-08-06 14:27:12 · 620 阅读 · 0 评论 -
求子数组最大和
本文转自:http://zhedahht.blog.163.com/blog/static/254111742007219147591/题目一:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大转载 2013-09-08 18:36:19 · 606 阅读 · 0 评论 -
阶乘问题
本文转载自:http://blog.csdn.net/hackbuteer1/article/details/6690015题目一:1、 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?例如:N=10,N!=3 628 800,N!的末尾有两个0。 首先考虑,如果N!= K×10^M,且K不能被10整除,那么N!末尾有M个0。再考虑对N!进行质因数分解,N!=(2^x)转载 2013-09-08 16:14:01 · 843 阅读 · 0 评论 -
发散思维的解法
本文转自:http://zhedahht.blog.163.com/blog/static/254111742011299219769/http://zhedahht.blog.163.com/blog/static/254111742011125100605/http://zhedahht.blog.163.com/blog/static/2541117420072915131422/转载 2013-08-04 13:06:32 · 1065 阅读 · 0 评论 -
判断链表中是否存在循环
#include #include typedef struct _node{ int data; struct _node* next;}node,*list;/*问题:如何判断一个单向链表是否存在循环?这个问题很经典。有两种方法来判断:算法一:该算法使用步长法判断链表是否存在循环,即设两个遍历,第一个遍历步长是第二个遍历的步长的两倍,如果这两个遍历相遇(原创 2013-08-12 17:15:59 · 1460 阅读 · 0 评论 -
在一个字符串中删除指定的字符 & 删除字符串中所有出现在另一个字符数组中的字符
#include #include #include /*在一个字符串中删除指定的字符,这种算法只用到原来的存储空间,不用另辟空间*/char* DeleteChar(char* str,char ch){ assert(str != NULL); int iDes = 0; int iSrc = 0; while(str[iSrc] != '\0') { if(ch !原创 2013-08-12 17:07:52 · 2974 阅读 · 0 评论 -
strcpy(),memcpy(),memmove(),memset(),strcmp(),strstr()的实现
在C语言中strcpy的原型是char *strcpy(char *dest,const char *src),它的的功能是把src所指由'\0'结束的字符串复制到dest所指的数组中,下面是实现char *strcpy(char *dest,const char *src){ assert((NULL != dest) && (NULL != src)); char* pDest原创 2013-08-12 16:41:55 · 970 阅读 · 0 评论 -
设计包含min函数的栈
本文转自:http://zhedahht.blog.163.com/blog/static/25411174200712895228171/题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。分析:我看到这道题目时,第一反应就是每次push一个新元素时,将栈里所有逆序元素排序。这样栈顶元素转载 2013-08-06 18:44:09 · 576 阅读 · 0 评论 -
栈的push、pop序列
转自:http://zhedahht.blog.163.com/blog/static/25411174200732102055385/题目:输入两个整数序列。其中一个序列表示栈的push顺序,判断另一个序列有没有可能是对应的pop顺序。为了简单起见,我们假设push序列的任意两个整数都是不相等的。比如输入的push序列是1、2、3、4、5,那么4、5、3、2、1就转载 2013-08-06 15:30:20 · 1105 阅读 · 0 评论 -
二叉树中和为某一值的所有路径
本文转自:http://zhedahht.blog.163.com/blog/static/254111742007228357325/题目:输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树转载 2013-08-05 15:50:34 · 839 阅读 · 0 评论 -
链表操作
头文件:List.h/***********List.h************///链表节点结构struct ListNode{ int m_ivalue; ListNode* m_pNext;};//节点从尾部加入链表void AddToTail(ListNode** pHead, int value);//节点从头部加入链表void AddToHead(ListN原创 2013-08-04 21:30:06 · 797 阅读 · 0 评论 -
找出数组中出现次数超过一半的数
本文转自:http://zhedahht.blog.163.com/blog/static/25411174201085114733349/题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。分析:这是一道广为流传的面试题,包括百度、微软和Google在内的多家公司都曾经采用过这个题目。要几十分钟的时间里很好地解答这道题,除了较好的编程能力之外,还需转载 2013-08-05 19:39:17 · 2858 阅读 · 0 评论 -
判断二叉树是不是平衡
本位转载自:http://zhedahht.blog.163.com/blog/static/25411174201142733927831/题目:输入一棵二叉树的根结点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。例如下图中的二叉树就是一棵平衡二叉树:我们很容易就能想到一个思路:在遍历树的每个结点的时转载 2013-08-02 19:57:22 · 630 阅读 · 0 评论 -
O(n)时间的排序
本文转自:http://zhedahht.blog.163.com/blog/static/25411174201131184017844/题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。分析:排序是面试时经常被提及的一类题目,我们也熟悉其中很多种算法,诸如插入排序、归并排序、冒泡排序,快速排序等等。这些转载 2013-08-02 23:07:00 · 675 阅读 · 0 评论 -
数对之差的最大值
本文转自:http://zhedahht.blog.163.com/blog/static/2541117420116135376632/题目:在数组中,一个数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5, 11, 9}中,数对之差的最大值是11,是16减去5的结果。分析:解法一:最直观的解法就是让每一个数字转载 2013-08-02 18:01:40 · 848 阅读 · 0 评论 -
用两个栈实现队列 & 两个队列实现一个栈
本文转自:http://zhedahht.blog.163.com/blog/static/2541117420073293950662/题目:某队列的声明如下:templatetypename T> class CQueue{public: CQueue() {} ~CQueue() {} void appendT转载 2013-08-06 17:02:45 · 727 阅读 · 0 评论 -
把二元查找树转变成排序的双向链表
本文转自:http://zhedahht.blog.163.com/blog/static/254111742007127104759245/题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 比如将二元查找树 10转载 2013-08-08 23:29:12 · 765 阅读 · 0 评论 -
二维数组中的查找
本文参考《剑指offer》一书的第3题:题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例如下面的二维数组就是每行、没列都递增排序。如果在这个数组中查找数字7,则返回true,如果查找数字5,由于数组不含有该数字,则返回false。转载 2013-08-17 16:15:13 · 663 阅读 · 0 评论 -
把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
题目:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。 题目来源:http://blog.csdn.net/w397090770/article/details/8030317同参考楼主的思想,也是用冒泡排序的思想求解。从字符串尾部扫描,将大写字母依次放到字符串的最后。注意:如果字符串中包含不合法的字母(除了英文字母之外的字符,)则视为原创 2013-08-01 17:26:11 · 1918 阅读 · 0 评论 -
含有指针成员的类的拷贝
本文转自:http://zhedahht.blog.163.com/blog/static/25411174200722710364233/题目:下面是一个数组类的声明与实现。请分析这个类有什么问题,并针对存在的问题提出几种解决方案。template class Array{public: Array(unsigned arraySize):data(0转载 2013-08-10 22:04:04 · 899 阅读 · 0 评论 -
一个数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。
本文参考:http://zhedahht.blog.163.com/blog/static/25411174201283084246412/http://blog.csdn.net/wypblog/article/details/8032898题目:一个数组里,除了三个数是唯一出现的,其余的都出现偶数个,找出这三个数中的任一个。比如数组元素为【1, 2,4,5,6,4,2】,只有1,5原创 2013-08-01 21:00:11 · 2289 阅读 · 1 评论 -
赋值运算符重载函数
本文转自:http://zhedahht.blog.163.com/blog/static/25411174200741543224391/问题:给出如下CMyString的声明,要求为该类型添加赋值运算符函数。class CMyString{public: CMyString(char* pData = NULL); CMyString(const CMySt转载 2013-08-10 16:54:28 · 708 阅读 · 0 评论 -
在O(1)时间删除链表结点
本文转自:http://zhedahht.blog.163.com/blog/static/254111742007112255248202/题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。链表结点的定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};转载 2013-08-10 14:12:23 · 657 阅读 · 0 评论