我只有 1 和 0 的数组。现在我想找到至少包含 K 0 的最小连续子集/子数组。
示例数组为 1 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 且 K(6) 应为 0 0 1 0 1 1 0 0 0 或 0 0 0 0 1 0 1 1 0....
我的解决方案
Array: 1 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0
Index: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Sum: 1 2 2 3 4 4 5 6 6 6 6 6 7 7 8 9 9 9 9 10 11 11 11
Diff(I-S): 0 0 1 1 1 2 2 2 3 4 5 6 6 7 7 7 8 9 10 10 10 11 12
对于 K(6)
从 9-15 开始 = 将差异存储在差异中。
下一步增加差异 8-15(Difference in index) 8-14(Compare Difference in index)
所以继续寻找元素最少的元素......
我正在为此解决方案寻找更好的算法。