黑马程序员技术交流社区
标题:
自习课做题
[打印本页]
作者:
1021361407
时间:
2015-4-9 15:30
标题:
自习课做题
<img border="0" alt="" src="http://bbs.itheima.com/forum.php?mod=image&aid=68392&size=300x300&key=933dc64c1e6363ef&nocache=yes&type=fixnone" aid="attachimg_68392">package 论坛提问;
import java.util.*;
import org.junit.Test;
/*
* 有一个数字串array,包含100个正数和负数随机分布,要找到他的一个子串array[i...j](0<=i<=j<=100),
* 使得在array的所有子串中,array[i...j]的和最大。比如:串{1,-3,5,-2,6}的最大子串为{5,-2,6}。
*/
public class maxSum {
@Test
public void test(){
List<Integer>list=new ArrayList<Integer>();
Integer max = -100;//初始最大值设为-100
int value;
for(int i=0;i<100;i++)
list.add((int)(Math.random()*200-100));//随机生成-100~100(不包括100)之间的数。
System.out.println(list);
for(int i=0;i<list.size()-1;i++){
for(int j=i+1;j<list.size();j++){
value=(int)sum(list.subList(i, j));
if(max<value)
max=value;
}
}
System.out.print(max);
}
/*
* 求数组中数的和
*/
static Integer sum(List<Integer> list){
int sum=0;
Iterator it=list.iterator();
while(it.hasNext()){
sum+=(int)it.next();
}
return sum;
}
}
复制代码
捕获.PNG
(17.19 KB, 下载次数: 5)
下载附件
2015-4-9 15:30 上传
作者:
lclxjzz
时间:
2015-4-9 15:36
学习了········
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2