题目描述
贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从 0-N 的箱子,每个箱子上面贴有一个数字阿里巴巴念出一个咒语数字 k<N),找出连续 k 个宝箱数字和的最大值,并输出该最大值,
输入
第一行输入一个数字字串,数字之间使用逗号分隔,例如: 2,10,-3,-8,40,5
1 字串中数字的个数≤100000
10000< 每个数字 ≤10000
第二行输入咒语数字,例如: 4,咒语数字大小小于宝箱的个数
输出
连续 k 个宝箱数字和的最大值,例如: 39
输入:
2,10,-3,-8,40,5
4
输出:
39
代码:
public class Test4 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] nums = Arrays.stream(in.nextLine().split(",")).mapToInt(
Integer::parseInt).toArray();
int k = in.nextInt();
int result = solve_method(nums,k);
System.out.println(result);
}
private static int solve_method(int[] nums,int k) {
int res=0;
for (int i=0;i+k<=nums.length;i++){
int sum=0;
int j=i;
while (j-i<k){
sum+=nums[j];
j++;
}
res=Math.max(sum,res);
}
return res;
}
}