我试图像滑动窗口一样打印。我无法做对。因此,当滑动窗口大小为1时,它应该打印每个元素。当滑动窗口为2时,它应该打印两个连续的元素。
0
1
2
01
12
0123
请检查此代码:
for(int w = 1; w <= a.length; w++) {
System.out.println("Window size : " + w);
for(int i = 0; i < a.length; i++) {
for(int j = i; j < w; j++) {
System.out.println(j);
}
System.out.println();
}
}
答案 0 :(得分:5)
你还没有计算出没有。对于特定的窗口大小,将出现窗口。
当您打印该窗口的值时,您给出的条件是j小于w。它循环窗口大小次数或w次。因此,对于窗口大小1,它将仅打印1个窗口大小为1的元素。对于窗口大小2,它将打印2个窗口大小为2的元素。但是还有其他元素。
您的模式代码:
public class WindowPattern {
public static void main(String[] args) {
/* array of elements */
int[] a = {0,1,2,3};
/* window size w */
for(int w = 1; w <= a.length; w++) {
System.out.println("Window size : " + w);
/* No of elements shown of window size (n) = a.length-w+1 */
for(int i = 0; i < a.length-w+1; i++) {
for(int j = i; j < w+i; j++) {
System.out.print(a[j]);
}
System.out.println();
}
}
}
}
答案 1 :(得分:2)
for(int w = 1; w <= a.length; w++){
System.out.println("Window size : " + w);
for(int i = 0; i < a.length - w + 1; i++){
for(int j = i; j < i + w; j++){
System.out.print(a[j]);
}
System.out.println();
}
}