例如数组a中有以下元素: 
{-7,5,-1,3,-5,5,0} 
其中:a[0]=-7,
     a[1]=5,
     a[2]=-1,
     a[3]=3,
     a[4]=-5,
     a[5]=5,
     a[6]=0,
a[0]+a[1]+a[2]+a[3]=a[4]+a[5]+a[6] 左边=右边a[0]+a[1]+a[2]+a[3]+a[4]+a[5]=a[6] 左边=右边则元素a[3]和a[5]为平衡点,对应的下标为3和5 
用JAVA实现这种功能

解决方案 »

  1.   


    public class Test2 {    public static void main(String args[]){
         int a[]={-7,5,-1,3,-5,5,0};
        int i,j,t,temp1,temp2;
        for(t=0;t<a.length-1;t++){
         temp1=0;
         temp2=0;
         for(i=0;i<=t;i++){
         temp1+=a[i];
         }
         for(j=t+1;j<a.length;j++){
         temp2+=a[j];
         }
         if(temp1==temp2){
         System.out.println(t);
         }
        }
        }
    }
      

  2.   

    for(i=0;i<=t;i++){
                temp1+=a[i];
            }
      

  3.   

    /**
     * 数组中的“平衡点”
     */
    public class ArrayBalance {    public static void main(String[] args) {
            int[] arr = {-7, 5, -1, 3, -5, 5, 0};
            System.out.println(Arrays.toString(arr));        Integer[] balances = getBalances(arr);        if (balances.length == 0) {
                System.out.println("这个数组没有平衡点。");
            } else {
                System.out.println("平衡点:" + Arrays.toString(balances));
            }
        }    private static Integer[] getBalances(int[] arr) {
            ArrayList<Integer> balances = new ArrayList<Integer>();
            for (int i = 0; i < arr.length - 1; i++) {
                if (left(arr, i) == right(arr, i)) {
                    balances.add(i);
                }
            }
            return balances.toArray(new Integer[balances.size()]);
        }    private static int right(int[] arr, int position) {
            int sum = 0;
            for (int i = position + 1; i < arr.length; i++) {
                sum += arr[i];
            }
            return sum;
        }    private static int left(int[] arr, int position) {
            int sum = 0;
            for (int i = 0; i <= position; i++) {
                sum += arr[i];
            }
            return sum;
        }
    }