微软每日面试题
文章平均质量分 80
面试题全来自网络,答案与分析纯属个人观点,不足之处,还望不吝指出。如果你有相关资料也欢迎发给我,大家一起讨论,希望各位程序员的编程能力与思维能力都能“day day up”!
zhanxinhang
@#$%^
展开
-
每日微软面试题——day 8(最大的二维子矩阵)
http://blog.csdn.net/zhanxinhang,及作者:花心龟的扮演者ZhanHang>题:求一个矩阵中最大的二维子矩阵(元素和最大).如: 1 2 0 3 4 2 3 4 5 1 1 1 5原创 2011-08-30 05:54:53 · 16892 阅读 · 20 评论 -
每日微软面试题——day 7(找数组中唯一出现两次的数)
题:假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你原创 2011-08-23 00:07:32 · 29235 阅读 · 133 评论 -
每日微软面试题——day 6(打印所有对称子串)
题:1、如何判断一个字符串是对称的?如a,aa,aba。 2、如何利用2函数找出一个字符串中的所有对称子串?分析: 且看第一个问题判断字符串对称,有以下两种方法。 方法一、使迭代器p1指向头,p2指向尾原创 2011-08-14 14:27:41 · 14369 阅读 · 16 评论 -
每日微软面试题——day 5
题:两个链表,一升一降。合并为一个升序链表。分析:(假设升序的链表为链表1,降序的链表为链表2,p1,p2分别作为它们的迭代器,还有一个合并链表用于存放合并后的数据)法一、最容易想到的且容易实现的就是使两个表都变成升序,然后就是经典的合并排序算法的步骤了,步骤是构建p1,原创 2011-08-11 03:48:58 · 12895 阅读 · 18 评论 -
每日微软面试题——day 4 (最长等差数列)
题:求随机数构成的数组中找到长度大于=3的最长的等差数列输出等差数列由小到大: 如果没有符合条件的就输出[0,0]格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]要求时间复杂度,空间复杂度尽量小分析:基本算原创 2011-08-08 00:18:44 · 17408 阅读 · 20 评论 -
每日微软面试题——day 3
题:怎样从顶部开始逐层打印二叉树结点数据?请编程。分析:不用递归,定义两个栈(或数组),也能方便漂亮地搞定。首先栈1存储第一层中的节点也就是根节点,然后每次循环,打印栈1中的元素,再将栈1中的节点更新为下一层中的节点。总共循环logn+1次。实现代码(原创 2011-08-05 02:48:14 · 12223 阅读 · 36 评论 -
每日微软面试题——day 2
题:.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。分析:首先54张牌分别用0到53 的数值表示并存储在一个整形数组里,数组下标代表纸牌所在的位置。接下来,遍历整个数组,在遍历过程中随机产生一个随机数,并以该随机数为下标的数组元素与当前遍历到的数组元素进行对换原创 2011-08-03 02:43:34 · 11860 阅读 · 9 评论 -
每日微软面试题——day 1
题:.编写反转字符串的程序,要求优化速度、优化空间。分析:构建两个迭代器p 和 q ,在一次遍历中,p的位置从字串开头向中间前进,q从字串末尾向中间后退,反转字串只要每次遍历都交换p和q所指向的内容即可,直到p和q在中间相遇,这时循环次数刚好等于 字串的长度/2。实现代码:/**author: 花心龟blog:http://blog.csdn.net/zhanxinhang原创 2011-08-01 16:40:38 · 14939 阅读 · 49 评论