604. 滑动窗口内数的和
给你一个大小为n的整型数组和一个大小为k的滑动窗口,将滑动窗口从头移到尾,输出从开始到结束每一个时刻滑动窗口内的数的和。
样例
对于数组 [1,2,7,8,5]
,滑动窗口大小k= 3
。
1 + 2 + 7 = 10
2 + 7 + 8 = 17
7 + 8 + 5 = 20
返回 [10,17,20]
public class Solution {
/**
* @param nums: a list of integers.
* @param k: length of window.
* @return: the sum of the element inside the window at each moving.
*/
public int[] winSum(int[] nums, int k) {
// write your code here
if(nums.length==0){
return nums;
}
ArrayList list = new ArrayList();
int sum = 0;
for(int i = 0; i < nums.length-(k-1);i++){
sum = 0;
int j = i;
int x=k;
while(x>0){
sum +=nums[j];
j++;
x--;
}
list.add(sum);
}
int a[] = new int[list.size()];
for(int i = 0; i < a.length; i++){
a[i]=(int)list.get(i);
}
return a;
}
}