题目:给定一个int数组,求该数组的连续子数组的和最接近0.
假设现在arr[i..j]这一段连续的子数组的和为最终结果,它等价于sum[j]-sum[i-1]的值。
其中sum[j] = arr[0] + arr[1] + .. +arr[j];
要求arr[i..j]的和最接近0,即求sum[j]与sum[i-1]这两个值相邻最近。
因此可以,考虑计算出sum数组,并对该数组进行排序。
排序的结果sum[k1], sum[k2], ....sum[kn]
再遍历一遍,取出两个相邻的最近的sum[s], sum[e].最终结果则为s与e之间或者e与s之间的数组元素。