1) 一维数组最大连续子数组

  如第homework-01就是一维数组的最大子数组,而当其首位相接时,只需多考虑子数组穿过相接的那个数就行了!

2)二维数组

  算法应该和第一次的相似,或者说是将二维转化为一维。

  直接采取上下界枚举,得出结果。

部分代码如下

int maxsumh(int a[][COL], int row, int col)
{
int i, j, start;
int max, min, temp;
int summax, summin, sumall;
int sum[ROW][COL]; temp = a[][];
for (i = ; i < row; i++)
for (j = ; j < col; j++)
temp = MAX(a[i][j], temp); if (temp < )
return temp; for (start = ; start < row; start++) {
for (j = ; j < col; j++) {
for (i = start; i < row; i++) {
if (i == start)
sum[i][j] = a[i][j];
else
sum[i][j] = a[i][j] + sum[i - ][j];
}
}
for (i = start; i < row; i++) {
max = min = sum[i][];
for (j = ; j < col; j++) {
max = MIN(sum[i][j], max);
min = MAX(sum[i][j], min);
} sumall = summax = summin = ;
for (j = ; j < col; j++) {
sumall += sum[i][j];
summax += sum[i][j];
summin += sum[i][j];
max = MAX(max, summax);
min = MIN(min, summin);
summax = MAX(summax, );
summin = MIN(summin, );
}
temp = MAX(temp, MAX(sumall - min, max));
}
}
return temp;
}

代码时间复杂度为O(n^3),但空间复杂度就很大,导致数组大小限制比较严重,我开数组行,列很大时,容易造成运行堆栈溢出。不怎么会做优化,就没有做了。

1、描述在这么多相似的需求面前, 你怎么维护你的设计 (父类/子类/基类, UML, 设计模式,  或者其它方法) 让整个程序的架构不至于崩溃的?

  我是每种要求单独设计一个方法函数,直接调用。

2、你在这个作业中学到了什么?  有什么好的设计值得分享?  感想如何 (太容易 / 太难 / 太无趣)?

  个人感觉题目对我来说难度很大。

 

Personal Software Process Stages

时间百分比(%)

实际花费的时间 (分钟)

原来估计的时间 (分钟)

Planning

计划

     

·         Estimate

·         估计这个任务需要多少时间,把工作细化并大致排序

     

Development

开发

     

·         Analysis

·         需求分析 (包括学习新技术)

 6% 30  30

·         Design Spec

·         生成设计文档

 4%  20  20

·         Design Review

·         设计复审 (和同事审核设计文档)

 0  0  0

·         Coding Standard

·         代码规范 (制定合适的规范)

 2%  10  20

·         Design

·         具体设计

 24% 120  60

·         Coding

·         具体编码

 24%  120  60

·         Code Review

·         代码复审

 0  0  0

·         Test

·         测试(自我测试,修改代码,提交修改)

 40%  200  30

Reporting

总结报告

     
  • Test Report
  • 测试报告
       
  • Size Measurement
  • 计算工作量
  • Postmortem & Improvement Plan
  • 事后总结, 并提出改进
       
         
Total 总计 100% 总用时    500 总估计的用时     220

最大连续子数组问题2-homework-02的更多相关文章

  1. Task 4 求数组的连续子数组的最大和(团队合作)

    小组成员:李敏.刘子晗 1.设计思想:由于已经做过这个题目,只要对之前的程序加上相应的测试和约束即可.我们两个人一起商议后,决定了程序的主框架和并列出了最终可以实现的功能.先要定义数组长度和上下限的变 ...

  2. 剑指Offer面试题:28.连续子数组的最大和

    一.题目:连续子数组的最大和 题目:输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n).例如输入的数组为{1,-2,3 ...

  3. lintcode循环数组之连续子数组求和

    v 题目:连续子数组求和 II 给定一个整数循环数组(头尾相接),请找出一个连续的子数组,使得该子数组的和最大.输出答案时,请分别返回第一个数字和最后一个数字的值.如果多个答案,请返回其中任意一个. ...

  4. 剑指Offer 连续子数组的最大和

    题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...

  5. 剑指offer面试题31连续子数组的最大和

    一.题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果 ...

  6. lintcode :continuous subarray sum 连续子数组之和

    题目 连续子数组求和 给定一个整数数组,请找出一个连续子数组,使得该子数组的和最大.输出答案时,请分别返回第一个数字和最后一个数字的值.(如果两个相同的答案,请返回其中任意一个) 样例 给定 [-3, ...

  7. 编程算法 - 连续子数组的最大和 代码(C)

    连续子数组的最大和 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个整型数组, 数组里有正数也有负数. 数组中一个或连续的多个整数组成一 ...

  8. 【剑指offer】连续子数组的最大和

    个開始,到第3个为止).你会不会被他忽悠住? 输入: 输入有多组数据,每组測试数据包括两行. 第一行为一个整数n(0<=n<=100000),当n=0时,输入结束.接下去的一行包括n个整数 ...

  9. 找一个数组的最大和的连续子数组(时间复杂度 O(n))(二)

    要求: 要求数组从文件读取. 如果输入的数组很大,  并且有很多大的数字,  就会产生比较大的结果 (考虑一下数的溢出), 请保证你的程序能正常输出. 另外, 如果输入文件的参数有错误, 这个程序应该 ...

随机推荐

  1. ctrlsf插件

    输入CtrlSF pattern <dir>来搜索 想要搜索当前文件,用CtrlSF pattern %p(或者C-R %) 在结果界面,p键预览,回车进入闭关内关闭搜索结果框,t键打开一 ...

  2. HDU 4725 The Shortest Path in Nya Graph(最短路拆点)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4725 题意:n个点,某个点属于某一层.共有n层.第i层的点到第i+1层的点和到第i-1层的点的代价均是 ...

  3. AutoResetEvent

    private static readonly AutoResetEvent autoResetEvent = new AutoResetEvent(false); private static vo ...

  4. Android studio中Rendering Problems不能可视化操作的解决办法

    出现:Rendering Problems the following classes could not be found:android.support.v7.internal.widget.Ac ...

  5. Only one instance of a ScriptManager can be added to the page.

    一般出现在一个页面用了多个用户控件,而每个用户控件中都用到了ScriptManager,最好的办法是控件中不要加上         <asp:ScriptManager ID="Scr ...

  6. 8 种 NoSQL 数据库系统对比

    导读:Kristóf Kovács 是一位软件架构师和咨询顾问,他最近发布了一片对比各种类型NoSQL数据库的文章. 虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只 ...

  7. [swustoj 1023] Escape

    Escape     Description BH is in a maze,the maze is a matrix,he wants to escape! Input The input cons ...

  8. Web Api 接口文档制作

    参考地址: http://blogs.msdn.com/b/yaohuang1/archive/2012/05/21/asp-net-web-api-generating-a-web-api-help ...

  9. Sciter/HTMLayout内存占用评测

    先从最基础的Exe文件的执行说起: Exe文件要在系统中执行,首先要将Exe文件本身加载入内存中,并且通常在内存中加载完成的Exe所占空间大小会比实际所占的磁盘空间大一些,这是由内存的特殊设定所决定的 ...

  10. 学习Mongodb(一)

    图片摘录自陈彦铭出品2012.5的<10天掌握MongDB> MongoDB的特点--->面向集合存储,易于存储对象类型的数据--->模式自由--->支持动态查询---& ...