版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_23086307/article/details/83538570
/**
* 数组平衡点
*
* @param array 数据源
* @return 返回平衡点,没有返回-1 可能存在多个
*/
private static int[] balancePoint(int array[]) {
if (null == array || array.length <= 2) {
return null;
}
int i = 1;
while (i < array.length - 1) {
array[i] = array[i] + array[i - 1];
i++;
}
int j = 1;
int balance[] = new int[array.length];
int temp = 0;
while (j < array.length - 1) {
if ((array[j - 1] = array[array.length - 1] - array[j]) == 0) {
balance[temp] = j;
temp++;
}
j++;
}
return balance;
}