微软100题系列
文章平均质量分 76
yushayusha
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
颠倒一个字符串
void Reversesmall(char *str, int len) { char *p = str+len-1; while(str { char temp = *str; *str = *p; *p = temp; str++; p--; } } void Reverse(char *str) //使接口只有一个输入 { Reversesmall(s转载 2014-06-23 19:56:24 · 805 阅读 · 0 评论 -
判断该数组是不是某二元查找树的后序遍历的结果
题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。 如果是返回true,否则返回false。 例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果. 8 / \ 6 10 / \ / \ 5 7 9 11 因此返回true。 如果输入7、4、6、5,没有哪棵树的后序遍历的结果是这个序转载 2014-06-24 22:42:14 · 1059 阅读 · 0 评论 -
左移,右移
不用乘法或加法增加8 倍。现在用同样的方法增加7 倍。 ANSWER: n (n转载 2014-06-24 20:35:59 · 564 阅读 · 0 评论 -
在字符串中寻找子字符串
Sunday算法是Daniel M.Sunday于1990年提出的字符串模式匹配。其核心思想是:在匹配过程中,模式串发现不匹配时,算法能跳过尽可能多的字符以进行下一步的匹配,从而提高了匹配效率。转载 2014-06-24 20:26:08 · 926 阅读 · 0 评论 -
二元查找树
二元查找树:(没有重复的元素) 它首先要是一棵二元树,在这基础上它或者是一棵空树;或者是具有下列性质的二元树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二元查找树 1.把二元查找树转变成排序的双向链表转载 2014-06-05 19:53:37 · 928 阅读 · 0 评论 -
有关栈的题目
设计包含min函数的栈。 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。 要求函数min、push以及pop的时间复杂度都是O(1)。 结合链表一起做。转载 2014-06-05 21:50:29 · 731 阅读 · 0 评论 -
二元树中找出和为某一值的所有路径
在二元树中找出和为某一值的所有路径 题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如输入整数22 和如下二元树 10 / \ 5 12 / \ 4 7 则打印出两条路径:10, 12 和10, 5, 7。转载 2014-06-08 21:49:07 · 606 阅读 · 0 评论 -
子数组之和最大——贪婪算法
3.求子数组的最大和 题目: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2, 因此输出为该子数组的和18。 ANSWER: A traditiona转载 2014-06-08 20:51:25 · 748 阅读 · 0 评论 -
查找最小的k 个元素
查找最小的k 个元素 题目:输入n 个整数,输出其中最小的k 个。 例如输入1,2,3,4,5,6,7 和8 这8 个数字,则最小的4 个数字为1,2,3 和4。 ANSWER: This is a very traditional question... O(nlogn): cat I_FILE | sort -n | head -n K O(kn): do insertion so转载 2014-06-10 23:36:28 · 572 阅读 · 0 评论
分享