我们看看这次题目:
给定一个所有元素都是正整数的数组,同时给定一个值target,要求从数组中找到两个不重叠的子数组,使得各自数组的元素和都等于给定数值target,并且要求两个数组元素个数之和最小,例如给定数组为...[1 , 2, 1, 1, 1],同时给定目标值3,此时它有三个子数组分别为[1,2], [2,1],[1,1,1],他们的元素和都等于3,但是由于前两个数组有重叠,因此满足条件的两个子数组为[1,2]...解决这个问题有三个要点,1,找到所有满足条件的子数组,2,从这些数组中找到不重叠数组的组合,3,从步骤2中找到元素数量之和最小的两个数组。首先我们看第1点如何完成。...第二步就是找到不重叠而且两个数组长度之和最小的子数组。这就是cornner case,也是不好调试通过的地方。...首先它的值为0,如果sub_array[subarray_index]对应的子数组不跟当前窗口重叠,也就是给定子数组的末尾元素其下标小于start,那么我们就能增加subarray_index的值以遍历下一个元素