Leetcode1304. Find N Unique Integers Sum up to Zero

public int[] sumZero(int n) {
int [] Array= new int[n];
int sum=0; //前n-1个数之和
for(int i=0;i<Array.length-1;i++) {
Array[i] = i;
sum+=i;
}
Array[Array.length-1]=(0-sum);
return Array;
}

 我这里是采取了一个取巧取值的办法 ,但是有没有办法可以随机取值并且最后也是等于0呢

 public int[] sumZero(int n) {
        int[] A = new int[n]; for (int i = 0; i < n; ++i) A[i] = i * 2 - n + 1; return A; }
这个solution是通过找对称性规律直接在Array[i]里赋相反值达到的效果


评论里提出我的代码n==2时返回的数组是{0,0},这违反了题目中的一致性。

猜你喜欢

转载自www.cnblogs.com/chengxian/p/12207512.html