输入数组int [] array = {1,2,0,7,8,4,3,2,5,6,7}; n代表n个数相加,数组中连续n个数相加的最小值
public static int getNNumMin(int [] array, int n){
//计算连续的前n个数相加,并假设前n个数相加的和最小
int min = 0;
for(int i=0;i<n;i++){
min +=array[i] ;
}
for(int i=1;i<array.length && n < array.length;i++,n++){
//循环计算后面的连续的n个数相加
int sum = 0;
for(int j=i;j<=n; j++){
sum+=array[j];
}
//比较前n个连续相加的和与后面连续的和并返回最小值
min = Math.min(sum, min);
}
return min;
}
本文介绍了一个算法问题:给定一个整数数组和一个正整数n,寻找数组中连续n个数相加得到的最小和。通过两次循环实现了这一目标,首先计算了数组前n个元素的总和作为基准最小值,然后逐步移动窗口,计算后续每个长度为n的子序列的和,并更新最小值。
227

被折叠的 条评论
为什么被折叠?



