动态规划算法(微软一面笔试题:股票交易,O(N)时间复杂度O(1)空间复杂度)

自从暑假面试被鄙视之后,回来就经常想这个问题,到今天应该快两个月了。在这个下午,我又拿出草稿纸,总算找到了思路,把它给搞定了。就像一个心愿一样,完结了。问题是这样的,如同题目:原题就不赘述了,化简之后的问题就是在数组中找到两个元素,计算后面的元素减去前面的元素的差。求出所有差的最大值。(你可以认为...

2012-08-24 15:18:13

阅读数 7712

评论数 9

设计模式(一)单例模式Singleton

在面试的时候,面试官提到了单例模式。我没有接触过,但也了解。这让面试官对我的影响有所失望,回来之后就买了《设计模式-可复用面向对象软件的基础》。翻开单例模式,发现用C++实现的单例模式还真的有点水平。单例模式指在我们的程序中有一个组件,它的类只有唯一的一个对象,也不可以创建更多的对象。这种模式就是...

2012-08-22 10:09:49

阅读数 1431

评论数 0

微软笔试题 大型文件外部排序(二路归并和k路归并的实现和比较)

这两种排序方法都是先将一个无序的大的外部文件,分成若干块,分别读到内存中。 将每一块都先排好序,放到一个新的外部文件中。 二路归并的思路是每次将外部排序的文件两两合并,变成一个二倍大小的文件,然后对二倍大小的文件继续两两合并。直到最终合并为一个文件为止。k路归并是将外部排好序的子文件一次合并。先...

2012-08-20 21:45:41

阅读数 3927

评论数 0

C++合并两个有序的二进制文件

有时候很多基于文件的外部排序算法都需要合并两个有序的文件。下面就给出简单的C++实现方法。具体思路和合并两个有序的单链表的思路是一样的。 void merge_file(const string& file_in_name1,const string& file_in_name2,...

2012-08-16 10:15:09

阅读数 3529

评论数 2

微软笔试题 给一个包含10^7个整数的大文件排序

这个题目有一个前提条件,大文件的中的数据有有一个特点,那就是不存在重复的数据。就算是重复的数据,也只让你求出去除重复之后的那些数据的排序结果。          如果题目变成了这样,我们就可以考虑创建一个大的数组。数组的下表表示一个整数,数组的内容在我遍历文件的时候再赋值。如果数组下标代表的那个整...

2012-08-11 01:25:19

阅读数 1960

评论数 0

微软笔试题 跳台阶问题

题目  : 一个台阶有n个台阶。每次可以上一个台阶,也可以上两个台阶。有多少种不同的上法? 可以这么递归的来考虑,第一次跳一个台阶,这种情况的跳法总数是后面的跳法总数f(n-1);第一次跳两个台阶,这种情况下跳法总数是后面的跳法总数f(n-2);所以全部的跳法数就是 f(n)=f(n-1)+f(n...

2012-08-10 22:16:55

阅读数 1877

评论数 2

逆向迭代器

有时候我们要写一些从数组的后面往前遍历的程序,但使用的却是正向迭代器。 比如: typedef vector::iterator iter;  iter last=--a.end();  for (iter i=last-1;i>=a.begin();i--)  {   for (iter ...

2012-08-09 15:09:57

阅读数 1783

评论数 0

排列组合算法(微软笔试题:输出1到n的全排列)

这里希望能更清楚,如果不好,欢迎拍砖。 12345的next是12354,从这里我们可以看出,next就是将大数字提到小数字的前面,即对调一个升序的两个数字。      而对于更一般的情况,对如下排列 234578 改变任意个升序的数字对都可以得到后续的排列。哪一个才是next呢?     当有...

2012-08-09 14:36:40

阅读数 3360

评论数 0

STL iterators

STL 主要是由 containers(容器),iterators(迭代器)和 algorithms(算法)的 templates(模板)构成的.        对应于它们所支持的操作,共有五种 iterators(迭代器)。            input         output ...

2012-08-09 14:10:52

阅读数 952

评论数 0

STL容器如何正确调用自己的erase方法

今天写一个小例子时遇到了一个如下的问题:我要遍历一个vector,但遍历过程中某些条件具备的时候我就打算删除复合条件的元素。删除时使用erase永久删除,然后继续完成遍历(这个情况在Effective C++上面看到过,但没找到,还记得有解决办法的,所以就自己想办法了)。比如现在我打算在遍历遇到2...

2012-08-07 18:52:24

阅读数 1232

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭