软件工程结对作业03
2016-04-15 18:36
169 查看
同组成员(尤凯丽):http://www.cnblogs.com/love528/
设计思想
在有负数的情况下,要保证找出的子数组的和是最大的,那么最小的负数是一定不会在子数组中的,我们将最小的负数作为一个断点,放在非循环数组的第一位,这样它之前的数就不需要先考虑了。例如:当循环数组为1,2,-5,6,-1时,最小的负数是-5,我们就可以将它断成非循环数组-5,6,-1,1,2。这样就可以算出最大和的子数组了。如果没有负数的话,从哪里断开就是无所谓的了,但是为了编程方便,我们还是从最小的数处断开。
源代码
运行结果截图
总结:
这次的想法比较偏,不是很好理解,但是这样的话程序复杂度会降低,所以仍是使用了这种方法。
合作中的过程
在讨论过此次程序的具体要求后,同组同学(张雪晴)做了程序分析,并完成代码编程,据说历时16分钟。我仔细读程序后,根据不同的数组值的情况分别测试,结果正确。
体会
两个人的合作可以扬长避短,更快的完成任务。当然,要随时提高自身能力,才能慢慢成长。(最有效率的团队成员可能是水平相当的两个人)
如何解决冲突
当对同一个问题产生不同看法时,不要认为自己的就是最好的,尽量理解对方的想法。互相体谅,互相宽容,该让步的时候要让步。
合作照片:
设计思想
在有负数的情况下,要保证找出的子数组的和是最大的,那么最小的负数是一定不会在子数组中的,我们将最小的负数作为一个断点,放在非循环数组的第一位,这样它之前的数就不需要先考虑了。例如:当循环数组为1,2,-5,6,-1时,最小的负数是-5,我们就可以将它断成非循环数组-5,6,-1,1,2。这样就可以算出最大和的子数组了。如果没有负数的话,从哪里断开就是无所谓的了,但是为了编程方便,我们还是从最小的数处断开。
源代码
import java.util.Scanner; public class Maxsum_2 { public static void main(String[] args) { // TODO Auto-generated method stub int max,a; System.out.println("请输入数字的长度:"); Scanner sc1 = new Scanner(System.in); int size = sc1.nextInt(); int num[]=new int [size]; int num2[]=new int [size]; System.out.println("请输入数字:"); for(int i=0;i<size;i++) { num2[i]=sc1.nextInt(); } int min=0,minnumber=num2[0]; for(int i=0;i<size;i++) { if(num2[i]<minnumber) { min=i; minnumber=num2[i]; } } for(int i=0;i<size;i++) { num[i]=num2[(i+min)%size]; } max=num[0]; a=num[0]; for(int i=1;i<size;i++) { if(max+num[i]>=num[i]) { if(num[i]<0&&a<max+num[i]) a=max; max=max+num[i]; } else max=num[i]; } if(a>max) max=a; System.out.print(max); } }
运行结果截图
总结:
这次的想法比较偏,不是很好理解,但是这样的话程序复杂度会降低,所以仍是使用了这种方法。
合作中的过程
在讨论过此次程序的具体要求后,同组同学(张雪晴)做了程序分析,并完成代码编程,据说历时16分钟。我仔细读程序后,根据不同的数组值的情况分别测试,结果正确。
体会
两个人的合作可以扬长避短,更快的完成任务。当然,要随时提高自身能力,才能慢慢成长。(最有效率的团队成员可能是水平相当的两个人)
如何解决冲突
当对同一个问题产生不同看法时,不要认为自己的就是最好的,尽量理解对方的想法。互相体谅,互相宽容,该让步的时候要让步。
合作照片:
相关文章推荐
- 腾讯实习生技术运营一面、二面经历
- IOS研究之iOS7适配的使用详细说明
- 理解进程调度时机跟踪分析进程调度与进程切换的过程
- Oracle学习笔记(十四)——数据库管理
- 求两个数组中都出现的元素
- Google Guava之--cache
- 命名规则
- jquery中mouseover和mouseout以及mouseenter和mouseleave的区别
- Ubuntu 14.04 Install LAMP Manual
- 微信开放平台开发(3) 移动应用微信登录
- OpenCV3.0或OpenCV3.1的SVM操作
- U盘安装64位Ubuntu操作系统
- nginx+php-fpm日志分析
- 阿里云服务器linux系统远程登录和文件管理的工具
- OC_实现UITableviewCell之间的间距
- Spring+SpringMVC+MyBaties学习笔记(一)环境搭建
- Displaying Graphics with OpenGL ES(三)——Drawing Shapes
- PHP实现大文件的上传设置
- cookie相关
- copy与mutableCopy