题目:
给你一个整数 n,请你返回 任意 一个由 n 个 各不相同 的整数组成的数组,并且这 n 个数相加和为 0 。
示例 1:
输入:n = 5
输出:[-7,-1,1,3,4]
解释:这些数组也是正确的 [-5,-1,1,2,3],[-3,-1,2,-2,4]。
示例 2:
输入:n = 3
输出:[-1,0,1]
示例 3:
输入:n = 1
输出:[0]
源码:
class Solution {
public int[] sumZero(int n) {
if (n == 1) {
return new int[1];
}
int[] arr = new int[n];
int mid = n / 2;
if (n % 2 != 0) {
int max = (n - 1) / 2;
for (int i = 0; i < n; i++) {
if (i == mid) {
arr[i] = 0;
break;
}
arr[i] = max;
arr[n - i - 1] = -max;
max -= 1;
}
} else {
int tmp = n;
for (int j = 0; j < n; j += 2) {
arr[j] = tmp;
arr[j + 1] = -tmp;
tmp++;
}
}
return arr;
}
}