09 2015 档案

摘要:索引器允许类或者结构的实例按照与数组相同的方式进行索引取值,索引器与属性类似,不同的是索引器的访问是带参的。索引器和数组比较:(1)索引器的索引值(Index)类型不受限制(2)索引器允许重载(3)索引器不是一个变量索引器和属性的不同点(1)属性以名称来标识,索引器以函数形式标识(2)索引器可以被重... 阅读全文
posted @ 2015-09-29 22:54 叫我霍啊啊啊 阅读(237) 评论(0) 推荐(0)
摘要:链接参考:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/28/2612910.htmlhttp://blog.sina.com.cn/s/blog_6040778d01014bp3.html 阅读全文
posted @ 2015-09-26 10:38 叫我霍啊啊啊 阅读(234) 评论(0) 推荐(0)
摘要:【题目描述】输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am student.",则输出"student. a am I"【解决方案】先翻转各个单词,再翻转整个句子。我的代码实现,仅供参考: 1 publ... 阅读全文
posted @ 2015-09-23 23:03 叫我霍啊啊啊 阅读(194) 评论(0) 推荐(0)
摘要:【题目描述】输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得他们的和正好是s。如果有多对数字的和等于s,输出任意一队即可。【解决方案】设置前后指针,根据所指数字的和来移动前后指针,直到找到目标数字。我的代码实现,仅供参考: 1 public static bool Fin... 阅读全文
posted @ 2015-09-23 21:44 叫我霍啊啊啊 阅读(217) 评论(0) 推荐(0)
摘要:1. 非递归 - 无头结点 1 /// 2 /// 非递归 - 无头结点 3 /// 4 /// 5 public static ListNode ReverseList(ListNode head) 6 ... 阅读全文
posted @ 2015-09-23 20:20 叫我霍啊啊啊 阅读(166) 评论(0) 推荐(0)
摘要:【题目描述】一个整型数组里除了两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。【解决方案】 1 public static void FindNumsAppearOnce(int[] data) 2 ... 阅读全文
posted @ 2015-09-23 00:12 叫我霍啊啊啊 阅读(191) 评论(0) 推荐(0)
摘要:【题目描述】输入一棵二叉树的根结点,求该树的深度。【解决方案】递归解决。我的代码实现,仅供参考: 1 public static int TreeDepth(TreeNode root) 2 { 3 if (root == null) 4 ... 阅读全文
posted @ 2015-09-22 23:36 叫我霍啊啊啊 阅读(188) 评论(0) 推荐(0)
摘要:【题目描述】统计一个数字在排序数组中出现的次数。例如输入数组{1,2,3,3,3,3,4,5}和数字3,由于3在数组中出现了4次,因此输出4。【解决方案】解法一:先找到key的位置,然后往两边搜索,直到找到所有的key。时间复杂度O(n)。解法二:找到连续key左右两边的下边,然后相减加1,即为ke... 阅读全文
posted @ 2015-09-22 10:52 叫我霍啊啊啊 阅读(185) 评论(0) 推荐(0)
摘要:MARK 阅读全文
posted @ 2015-09-22 10:30 叫我霍啊啊啊 阅读(170) 评论(0) 推荐(0)
摘要:【题目描述】输入两个链表,找出它们的第一个公共结点。【解决方案】解法一:利用两个辅助栈,以此将两个链表的结点压入。然后分别弹出两个栈中的结点,直到找到最后一个相同的结点,即为它们的第一个公共结点。缺点:需要耗费O(m+n)空间复杂度;解法二:分别便利两个链表的长度,记录下两个链表的长度m,n (m>... 阅读全文
posted @ 2015-09-22 10:25 叫我霍啊啊啊 阅读(423) 评论(0) 推荐(0)
摘要:【题目描述】在数组中的两个数字如果前面一个数字大于后面的一个数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组的逆序对的总数。【解决方案】基于归并思想的解决方案。我的代码实现,仅供参考: 1 public static int InversePairs(int[] data... 阅读全文
posted @ 2015-09-21 15:51 叫我霍啊啊啊 阅读(205) 评论(0) 推荐(0)
摘要:链接参考:http://www.zhihu.com/question/27199686 阅读全文
posted @ 2015-09-21 15:50 叫我霍啊啊啊 阅读(204) 评论(0) 推荐(0)
摘要:附链接:http://kb.cnblogs.com/page/168720/ 阅读全文
posted @ 2015-09-21 15:46 叫我霍啊啊啊 阅读(110) 评论(0) 推荐(0)
摘要:参考链接:http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.html 阅读全文
posted @ 2015-09-21 15:46 叫我霍啊啊啊 阅读(112) 评论(0) 推荐(0)
摘要:1 class Program 2 { 3 4 static void Main(string[] args) 5 { 6 int[] arr = new int[] { 2, 4, 1, 7, 4, 9, 6,... 阅读全文
posted @ 2015-09-21 15:46 叫我霍啊啊啊 阅读(179) 评论(0) 推荐(0)
摘要:MARK 阅读全文
posted @ 2015-09-21 15:45 叫我霍啊啊啊 阅读(122) 评论(0) 推荐(0)
摘要:MARK 阅读全文
posted @ 2015-09-21 15:44 叫我霍啊啊啊 阅读(230) 评论(0) 推荐(0)
摘要:参考链接:http://www.cnblogs.com/mydomain/archive/2010/09/23/1833369.html 阅读全文
posted @ 2015-09-21 15:43 叫我霍啊啊啊 阅读(141) 评论(0) 推荐(0)
摘要:参考链接:http://blog.csdn.net/whuslei/article/details/6667471 阅读全文
posted @ 2015-09-21 15:42 叫我霍啊啊啊 阅读(128) 评论(0) 推荐(0)
摘要:【题目描述】在字符串中找出第一个只出现一次的字符,如输入"abaccdeff",则输出"b"。【解决方案】利用哈希表解决。我的代码实现,仅供参考: 1 public static char FirstNotRepeatChar(char[] str) 2 { 3 ... 阅读全文
posted @ 2015-09-21 11:00 叫我霍啊啊啊 阅读(185) 评论(0) 推荐(0)
摘要:【题目描述】我们把只包含因子2,3和5的数称作丑数,求按从小到大的顺序的第1500个丑数。例如6,8都是丑数,但是14不是,因为它包含因子7。习惯上,我们把1当做第一个丑数。【解决方案】解法一:逐个判断,直观但不够高效我的代码实现,仅供参考: 1 public static int ... 阅读全文
posted @ 2015-09-21 10:58 叫我霍啊啊啊 阅读(197) 评论(0) 推荐(0)
摘要:【题目描述】输入一个正整数数组,把数组里所有的数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如,输入数组{3,32,321},则打印出这三个数字能排成的最小数字321323。【本题考点】1. 很难想出新的比较规则来排序一个数组;2. 很难证明根据这个规则排序之后的数组,把数字连接在即... 阅读全文
posted @ 2015-09-21 10:01 叫我霍啊啊啊 阅读(178) 评论(0) 推荐(0)
摘要:【题目描述】输入一个整数n,求从1到n这个整数的十进制表示中1出现的次数。例如,输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。【解决方案】解法一:不考虑时间复杂度我的代码实现,仅供参考: 1 public static int NumOfOneF... 阅读全文
posted @ 2015-09-16 16:12 叫我霍啊啊啊 阅读(168) 评论(0) 推荐(0)
摘要:【题目描述】输入一个整型数组,数组里有正数,也有负数。数组中一个或连续的多个整数组成的一个子数组,求所有子数组的最大值。要求时间复杂度为O(n)。【解决方案】解法一:举例分析数组的规律我的代码实现,仅供参考: 1 public static int FindGreatestSumOf... 阅读全文
posted @ 2015-09-16 15:52 叫我霍啊啊啊 阅读(171) 评论(0) 推荐(0)
摘要:【题目描述】输入n个整数,找出其中最小的k个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。【解决方案】测试用例:1. 功能测试(输入数组中有相同的数字,输入数组中没有相同的数字);2. 边界值测试(输入的k等于1或者等于数组的长度);3. 特殊情况测试(k小... 阅读全文
posted @ 2015-09-16 15:35 叫我霍啊啊啊 阅读(234) 评论(0) 推荐(0)
摘要:【题目描述】数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。【解决方案】解法一:基于Partition函数的O(n)算法我的代码实现,仅供参考: 1 public static int MoreThanHalfNum(int[] arr) 2 { 3 ... 阅读全文
posted @ 2015-09-14 16:20 叫我霍啊啊啊 阅读(202) 评论(0) 推荐(0)
摘要:【题目描述】输入一个字符串,打印出该字符串中字符的所有排列。【解决方案】递归,依次与其后数字交换,交换一次,输出一次。我的代码实现,仅供参考: 1 public static void Permutation(char[] str, int start) 2 { 3 ... 阅读全文
posted @ 2015-09-14 15:58 叫我霍啊啊啊 阅读(181) 评论(0) 推荐(0)
摘要:【题目描述】输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树种结点指针的指向。【解决方案】我的代码实现,仅供参考: 1 public static BinaryTreeNode Convert(BinaryTreeNode root) ... 阅读全文
posted @ 2015-09-14 15:57 叫我霍啊啊啊 阅读(194) 评论(0) 推荐(0)
摘要:【题目描述】请实现函数ComplexListNode* Clone(ComplexListNode* pHead)。复制一个复杂链表,每个结点,除了有一个m_pNext指针指向下一个结点,还有一个m_pSibling指向链表中的任意结点或者null。【解决方案】方法二:我的代码实现,仅供参考: 1 ... 阅读全文
posted @ 2015-09-14 15:56 叫我霍啊啊啊 阅读(152) 评论(0) 推荐(0)
摘要:【题目描述】输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶节点所经过的结点形成一条路径。【解决方案】用栈来存储路径,递归调用来遍历各个路径,如果符合条件,则进行打印。考虑测试用例:1. 二叉树中有一条或多条符合条件的路径;2. 二叉树中没有符合条... 阅读全文
posted @ 2015-09-14 15:43 叫我霍啊啊啊 阅读(172) 评论(0) 推荐(0)
摘要:【题目描述】输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。假设输入的数组的任意两个数字都互不相等。【解决方案】后续遍历的最后一个结点为二叉树的根节点,根据BST的特性,数组中前半部分比根节点大的为其左子树的节点,比他小的为其右子树结点,可以递归解决。考虑情况:1. 完全二叉树;2.... 阅读全文
posted @ 2015-09-14 11:12 叫我霍啊啊啊 阅读(191) 评论(0) 推荐(0)
摘要:【题目描述】从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。【解决方案】利用队列实现。我的代码实现,仅供参考: 1 public static void PrintTopToBottom(BinaryTreeNode node) 2 { 3 ... 阅读全文
posted @ 2015-09-14 10:52 叫我霍啊啊啊 阅读(183) 评论(0) 推荐(0)
摘要:【题目描述】输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出序列,假设压入栈的所有数字不相等。例如序列1,2,3,4,5是某栈的压栈顺序,序列4,5,3,2,1是该栈对应的一个弹出序列,但是4,3,5,1,2就不可能是该压栈顺序的弹出序列。【解决方案】 1 ... 阅读全文
posted @ 2015-09-14 10:27 叫我霍啊啊啊 阅读(187) 评论(0) 推荐(0)
摘要:【题目描述】定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push及pop的时间复杂度都是O(1)。【解决方案】举例让抽象问题具体化,可以根据下图的例子进行构思。我的代码实现,仅供参考: 1 class StackWithMin 2 {... 阅读全文
posted @ 2015-09-13 02:06 叫我霍啊啊啊 阅读(172) 评论(0) 推荐(0)
摘要:【题目描述】输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。【测试用例】1. 多行数组;2. 只有一行的数组;3. 只有一列的数组;4. 只有一行一列的数组;【解决方案】本题没有涉及复杂的算法或数据结构,画图可以让本题的思路更加具体化,考察动手画图用自己的思维解决问题的思路,只是考虑的... 阅读全文
posted @ 2015-09-13 01:19 叫我霍啊啊啊 阅读(243) 评论(0) 推荐(0)
摘要:【题目描述】请完成一个函数,输入一个二叉树,该函数输出它的镜像。【解决方案】即反转二叉树,左右结点互换,用递归解决。我的代码实现,仅供参考: 1 public static BinaryTreeNode ReverseBT(BinaryTreeNode node) 2 ... 阅读全文
posted @ 2015-09-13 00:25 叫我霍啊啊啊 阅读(202) 评论(0) 推荐(0)
摘要:【题目描述】输入两棵二叉树A和B,判断B是不是A的子结构。【解决方案】根据图示,用递归解决。注意代码的鲁棒性,树的操作很可能会访问不存在的内存,必须做好对null的处理!我的代码示例,仅供参考: 1 public static bool HasSubTree(BinaryTreeNo... 阅读全文
posted @ 2015-09-12 23:52 叫我霍啊啊啊 阅读(177) 评论(0) 推荐(0)
摘要:【题目描述】输入两个递增排序的链表,合并这两个链表并使新链表中的结点是按照递增排序的。【解决方案】用递归解决,非常简单。我的代码实现,仅供参考: 1 public static ListNode Merge(ListNode listA, ListNode listB) 2 ... 阅读全文
posted @ 2015-09-12 23:16 叫我霍啊啊啊 阅读(246) 评论(0) 推荐(0)
摘要:【题目描述】定义一个函数,输入一个的头结点,反转该链表并输出反转后的头结点。【解决方案】我的代码实现,仅供参考: 1 public static ListNode ReverseList(ListNode head) 2 { 3 ListNod... 阅读全文
posted @ 2015-09-12 22:53 叫我霍啊啊啊 阅读(166) 评论(0) 推荐(0)
摘要:【题目描述】输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第一个结点。例如,一个链表有6个结点,从头结点开始他们的值依次是1,2,3,4,5,6。这个链表的都属第三个结点是值为4的结点。【解决方案】方法:设置两个指针p1,p2。p1先走k个结... 阅读全文
posted @ 2015-09-12 16:16 叫我霍啊啊啊 阅读(178) 评论(0) 推荐(0)
摘要:【题目描述】输入一个整数数组,实现一个函数来调用该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。【解决方案】1. 只完成基本功能的解法,仅适用于初级程序员方法:设置头尾两个指针,满足条件就交换,直到碰头为止。我的代码实现,仅供参考: 1 public ... 阅读全文
posted @ 2015-09-12 15:30 叫我霍啊啊啊 阅读(224) 评论(0) 推荐(0)
摘要:【题目描述】给定单项链表的头指针和一个结点指针,定义一个函数在O(1)时间删除改结点。【解决方案】要删除结点i,可以先把下一个结点j的内容复制给i,然后把i的指针指向结点j的下一个结点。此时再删除结点j,其效果刚好是把结点i给删除了。考虑情况:1. 要删除的结点不是尾结点的情况;2. 链表只有一个结... 阅读全文
posted @ 2015-09-12 13:37 叫我霍啊啊啊 阅读(174) 评论(0) 推荐(0)
摘要:【题目描述】输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1,2,3一直到最大的3位数即999。【解决方案】1. 最无脑的做法怎么可能会出这么简单的问题,必然要考虑的大数问题!我的代码实现,仅供参考: 1 public static void Print0ne... 阅读全文
posted @ 2015-09-12 12:32 叫我霍啊啊啊 阅读(292) 评论(0) 推荐(0)
摘要:【题目描述】实现函数 double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同事不需要考虑大数问题。【解决方案】1. 自以为题目很简单的解法1 public static double Power(doubl... 阅读全文
posted @ 2015-09-11 15:54 叫我霍啊啊啊 阅读(219) 评论(0) 推荐(0)
摘要:【题目描述】请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有两位是1,因此输出2。【解决方案】1. 可能引起死循环的解法判断数n最右一位是否是1,只需把它和1做与运算即可知道(因为1除了最右一位为1,其余位为0),然后右移操作,高位补0,直到n为0。但是... 阅读全文
posted @ 2015-09-11 10:37 叫我霍啊啊啊 阅读(292) 评论(0) 推荐(0)
摘要:【题目描述】写一个函数,输入n,求斐波那契数列的第n项。【解决方案】1. 递归,效率很低,挑剔的面试官不会喜欢。因为递归的过程由于调用函数自身,函数调用是有时间和空间的消耗,每一次调用函数,都需要再内存栈中分配空间以保存参数、返回地址及临时变量,而且往栈里压入数据和弹出数据都是需要时间的,每个进程的... 阅读全文
posted @ 2015-09-11 00:33 叫我霍啊啊啊 阅读(449) 评论(0) 推荐(0)
摘要:【题目描述】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增序列的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。【解决方案】1. 使用二分查找,画图思考;2. 考虑旋转数组的数量为0时(即为... 阅读全文
posted @ 2015-09-10 22:34 叫我霍啊啊啊 阅读(127) 评论(0) 推荐(0)
摘要:【题目描述】用两个栈实现一个队列。队列的声明如下,请实现他的两个函数AppendTail和DeleteHead,分别完成在队尾部插入结点和在队头删除结点的功能。【解决方案】stackAppend栈用来添加,stackDelete栈用于删除,当stackDelete栈没有元素时,则从stackAppe... 阅读全文
posted @ 2015-09-10 17:06 叫我霍啊啊啊 阅读(161) 评论(0) 推荐(0)
摘要:【题目描述】输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。【解决方案】首先理解前序遍历(PreOrder),中序遍历(InOrder),后序遍历(PostOrder)的区别,并能在纸上根据前两种遍历,写出后一种遍历,基本就能写出本题的代码,不赘述。我的代码实现,仅供参考: 1 ... 阅读全文
posted @ 2015-09-10 15:13 叫我霍啊啊啊 阅读(144) 评论(0) 推荐(0)
摘要:【题目描述】输入一个链表的头结点,从尾到头反过来打印出每个结点的值。【解决方案】1. 最普通的方法,先反转链表,再输出。但是,由于反转会改变链表结构,不推荐;2. 典型的“后进先出”,联想到栈,可以输出到栈中,再以此读取;3. 栈可以用递归实现,故可以用递归实现。如果数据量大,可能导致方法调用栈溢出... 阅读全文
posted @ 2015-09-10 13:51 叫我霍啊啊啊 阅读(160) 评论(0) 推荐(0)
摘要:【题目描述】请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。【解决方案】1. 时间复杂度为O(n^2)因为空格替换成“%20”之后,增加了两个字符,可能会造成原来的字符串放不下修改之后的字符串,需要遍历原来的... 阅读全文
posted @ 2015-09-10 10:40 叫我霍啊啊啊 阅读(171) 评论(0) 推荐(0)
摘要:【题目描述】在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否存在该整数。【解决方案】每次根据右上角的一个数arr[i][j]和所求整数num的比较结果,来排除一行(或一列)的整数。arr[i][j... 阅读全文
posted @ 2015-09-10 09:42 叫我霍啊啊啊 阅读(122) 评论(0) 推荐(0)
摘要:【题目描述】设计一个类,我们只能生成该类的一个实例。【解决方案】1. 只适用于单线程环境单线程环境下可以正常工作。但是在多线程环境下,如果两个线程同时判断到instance为null,那么这两个线程都会创建一个实例,此时的Singleton就不满足单例模式的要求了。 1 public sea... 阅读全文
posted @ 2015-09-09 15:42 叫我霍啊啊啊 阅读(502) 评论(0) 推荐(0)
摘要:TCP/IP 进行间通信和死锁1. 面向对象的特征?抽象、封装、继承、多态2. 重载和重写?重载:返回值类型可同可不同,但是无法以返回类型来作为重载函数的区分标准。重写:覆盖。3. 怎么理解多态?不同的对象对相同的行为有不同的反应。(父类定义了一个方法,不同的子类进行不同的实现。)4. 链表和数组有... 阅读全文
posted @ 2015-09-02 16:21 叫我霍啊啊啊 阅读(200) 评论(0) 推荐(0)