数组平衡点算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
    }

猜你喜欢

转载自blog.csdn.net/baidu_23086307/article/details/83538570
今日推荐