轩辕互动面试平衡点问题
阿超 发表于 2009-09-07 10:20 | 来源: | 阅读 166 次
1.平衡点问题 平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点 要求:返回任何一个平衡点
public class Equity{ public static int equity(int[] numbers){ int total=0; for(int i=0;i<numbers.length;i++){ total+=numbers[i]; } int frontSum = 0; for(int i=0;i<numbers.length;i++){ int backSum = total - frontSum - numbers[i]; System.out.println(i + "------" + frontSum); System.out.println(i + "------" + backSum); if(frontSum == backSum) { return i; } frontSum += numbers[i]; } return -1; } }

