摘要: 软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]说明结对编程的优点和缺点。结对编程的优点如下:在独立设计、实现代码的过程中不免要犯这样那样的错误。在结对编程中,因为有随时的复审和交流,队员们取长补短。这样,程序中的错误就会少得多,程序的初始质量会高很多,同时也省下很多以后修改、测试的时间。这样高质量的产出能够给程序员带来一些信心。而且,在结对编程的过程中两位程序员互相交流,相互学习传递经验,能够在结对编程的过程中学习到更多的东西。但是结对编程也存在着一定的缺点:结对编程的过程中,代码一直处于“复审”的过程,即不断地审核,提高设计. 阅读全文
posted @ 2013-10-09 00:54 Z-MaC 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 总体思路(1)单维数组 单维数组的思路的构建在第一次作业已经完成了,简单来说就是根据贪心策略从头到尾累加,一旦遇到当前累加和变为负数,就将累加和清零,继续遍历数组中的元素,算法的时间复杂度是O(n)的。这次作业又加了一个条件,就是存在结果溢出的情况。由于笔者不知道结果到底会有多大,所以没敢开个64位整型敷衍了事,就写了高精度处理数据溢出的情况,也就是把每个数都用一个数组表示,数组中每一位代表数字的每一位,运算根据加减法的原理进行数组操作。测试样例:结果:代码:void solve1(){ int i,j,s[100],a[100],ans[100]; memset(s,0,siz... 阅读全文
posted @ 2013-09-30 21:23 Z-MaC 阅读(176) 评论(4) 推荐(0) 编辑
摘要: 个人信息 github:buaazmac 使用教科书:代码大全最大子数组和思路 利用贪心算法的思路解决。对于一段可能是最大子数组的子数组,它应该具有如下性质:从该子数组第一个元素到任一元素的和都必须大于零。这用反证法就能证明,如果有段的和是小与零的,那么之后这段子数组的和就必然大于当前子数组的和。通过这个性质,我们就只要从头到尾遍历数组,记录当前连续元素的和,如果当前的和小于零,就把和清零。最后记录下遍历过程中出现的最大和就好了。 简单的测试样例: 运行结果: #include #include #include using namespace std;int main(){ ... 阅读全文
posted @ 2013-09-19 11:53 Z-MaC 阅读(142) 评论(3) 推荐(0) 编辑
摘要: Description & Requirementshttp://www.cnblogs.com/jiel/p/3311400.html项目时间估计 理解项目要求: 1小时 构建项目逻辑: 1小时 查阅相关资料: 1小时 编写&调试程序: 2小时 样例测试&功能完善: 1小时 项目效率分析: 1小时 项目优化: 2小时 总结&提交: 1小时项目实际完成时间 实际完成时间很是蛋疼,题目意思不难理解,实现起来也不难,本着先实现功能不考虑时间的原则写了用c++里的map实现了一下,但发现debug模式... 阅读全文
posted @ 2013-09-12 15:59 Z-MaC 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 第一篇博客用来勉励自己好好学习 阅读全文
posted @ 2013-09-10 21:19 Z-MaC 阅读(88) 评论(0) 推荐(0) 编辑