Python之滑动窗口
对于一个数组array = ["n","v","l","f",...,"y","c","k"]; input 当前位置 index 数组的长度 arraySize 基于当前位置,(前/后)滑动窗口的元素数目 windowSize 即 滑动窗口(假定:包含当前元素 array[idx]) 总长:2*windowSize+1 output 滑动窗口中的元素下标数组 形如 【中间】idx=3,arraySize=7,windowSzie=2 => [1,2,3,4,5] 【偏前】idx=0,arraySize=7,windowSzie=2 => [5,6,0,1,2] 【偏后】idx=6,arraySize=7,windowSzie=2 => [4,5,6,1,0] [1] 循环队列 [2] 充分利用模运算的特点:最左边下标 (idx-windowSize)%arraySize 与 最后边下标(idx+windowSize)%arraySize可计算出来 利用思路2,节省更多计算资源。 def window(idx,arraySize,windowSize): """ 获得当前位置的滑动窗口[元素的下标数组] ----------------------------------- + 获得长为arraySize的列表中,以idex为中心