概述
package cn.itcast_06;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Deque;
import java.util.LinkedList;
import java.util.List;
/**
* 返回一个n-w+1 长度的数组, 每个元素代表每个窗口中的最大值。
*/
public class SlideWindow {
/**
* array:源数组
* w:窗口大小
* 时间复杂度O(N*w)
*/
public int[] moveWindow(int[] array, int w) {
int[] result = new int[array.length - w + 1];
for (int i = 0; (i + (w - 1)) < array.length; i++) {
int[] newArr = Arrays.copyOfRange(array, i, i + w);
Arrays.sort(newArr); // 左闭右开
result[i] = newArr[w - 1];
}
return result;
}
/**
* 最优解: 时间复杂度为O(N)
* 利用双端队列
*/
public Integer[] moveWindow1(Integer[] arr,int n, int w)
最后
以上就是幸福曲奇为你收集整理的matlab简单滑动窗口算法,滑动窗口法算法(matlab、java)的全部内容,希望文章能够帮你解决matlab简单滑动窗口算法,滑动窗口法算法(matlab、java)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复