1. 程式人生 > >陣列中的平衡點問題

陣列中的平衡點問題

平衡點就是指陣列中某一個節點的前面的所有元素的和等於後面節點所有元素的和。

Java演算法實現:

public boolean isTrue(int nums[]) {
    int n = nums.length - 1;
    boolean flag = false;
    for (int i = 1; i <= n; i++) {
        nums[i] += nums[i - 1];
    }
    for (int j = 1; j <= n; j++) {
        if (j == 1 && (nums[n] - nums[0] == 0)) {//判斷第一個是否為平衡點
            flag = true;
            System.out.println("第一個");
        } else if (j == n && (nums[n - 1] == 0)) {
            flag = true;
            System.out.println("最後一個");
        } else if (nums[j - 1] == nums[n] - nums[j]) {
            flag = true;
            System.out.println("一般的一個");
        }
    }
    return flag;
}