课堂练习3
2016-04-07 18:59
239 查看
设计思想:
遍历一个数组,如果一个数小于0,就重新开始计算,如果大于0就进行相加。
代码:
结果截图:
总结:
本次测验一开始想的是先前两个数加,大于0就接着往下遍历,小于0就判断前两个数,但运行阶段不能得出结果;还有arr[i+1]有超过范围,还是要更加细心。
遍历一个数组,如果一个数小于0,就重新开始计算,如果大于0就进行相加。
代码:
package subarraymaxadd; import java.util.*; public class Subarraymaxadd { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入数组长度:"); int len = input.nextInt(); int[] arr = new int[len]; System.out.println("请输入数组:"); for(int i=0;i<len;i++) { arr[i] = input.nextInt(); } input.close(); if(len==0||arr==null) { System.out.println("输入无效!"); } int cursum = arr[0]; int maxsum = Integer.MIN_VALUE; for(int i=0;i<len;i++) { if(cursum<=0) { cursum=arr[i]; } else { cursum+=arr[i]; } if(maxsum<cursum) { maxsum=cursum; } } System.out.println("子数组的最大和为:"+maxsum); } }
结果截图:
总结:
本次测验一开始想的是先前两个数加,大于0就接着往下遍历,小于0就判断前两个数,但运行阶段不能得出结果;还有arr[i+1]有超过范围,还是要更加细心。
相关文章推荐
- 设计模式入门
- Unity3D for VR 学习(10): Unity LOD Group 组件
- hibernate 自动建表
- eclispe j2ee 用文本编辑器打开xml文件 有时候项目xml出错,关闭xml验证
- 第四,五周——Java编写的电梯模拟系统(结对作业)
- 七月算法机器学习笔记8 聚类算法
- 深度学习(十)keras学习笔记
- [POJ 3045] Cow Acrobats (贪心)
- JavaScript之字符串类型
- 自定义View完全解析
- insmod过程详解
- 迷宫问题的求解方式:应用深度优先和广度优先的搜索
- java对日期Date类进行加减运算,年份加减,月份加减
- 关于C语言的问卷调查
- HTTP-FLV的两种方式
- sprintf 与snprintf
- 作业调度方案
- 用Nodejs写Office web apps服务端
- 代码迁移攻略:在Java工程中调用Python代码
- 在Linux下程序运行时修改变量的值