电梯调度

摘要: 电梯在我们的生活中很常见,但是电梯中的算法我们还是不太了解。 现在我们来更仔细的分析一下这个问题,看看怎么样优化一下。假设电梯停在第 i 层楼,我们计算出所有乘客总共爬楼梯的层数是Y。如果有N1个乘客想去的楼层在第 i 层之下,有N2个乘客正好想去的楼层是第 i 层,有N3个乘客想去的楼层在第 i... 阅读全文
posted @ 2014-06-03 16:02 guowei123 阅读(125) 评论(0) 推荐(0) 编辑

一个数组既有正数也有负数,计算出它的子数组和的最大值。

摘要: 求一个数组中的子数组的最大值,课上老师说的用二维数组的方案好像时间变量不能满足O(n);后来我们回去又仔细想了想:原来还是蛮简单的,一开始没跳出定式,思维太局限了,后来想要想最大,就得先找出数组中的第一个正数,然后跟后面的数加看看有没有变大若变大就循环变小的话就输出结果;如果全是负数就是最大的那个数单独最大。在将整个数组遍历一遍的时候就会得到最大值。具体程序如下:#include#define N 5int compare(int a[N]){int sum=0;int x=0;for(int i=0;i<N;i++){if(x<0)x=a[i];elsex=x+a[i];if(s 阅读全文
posted @ 2014-03-18 21:57 guowei123 阅读(986) 评论(0) 推荐(0) 编辑

读取英文文档,找出出现次数前十的单词

摘要: #include #include #include #define MAX 32 using namespace std; struct word { char name[MAX]; int num; struct word *next; }; void read(struct word*&head) { ifstream infile("test.txt"); infile>>noskipws; if(!infile){ cout='a'&&a='A'&&a='a'&am 阅读全文
posted @ 2014-03-03 12:56 guowei123 阅读(271) 评论(2) 推荐(0) 编辑