##### Welcome to Subscribe On Youtube

Formatted question description: https://leetcode.ca/all/1304.html

# 1304. Find N Unique Integers Sum up to Zero (Easy)

Given an integer n, return any array containing n unique integers such that they add up to 0.

Example 1:

Input: n = 5
Output: [-7,-1,1,3,4]
Explanation: These arrays also are accepted [-5,-1,1,2,3] , [-3,-1,2,-2,4].


Example 2:

Input: n = 3
Output: [-1,0,1]


Example 3:

Input: n = 1
Output: [0]


Constraints:

• 1 <= n <= 1000

Related Topics:
Array

## Solution 1.

• class Solution {
public int[] sumZero(int n) {
int[] array = new int[n];
if (n == 1)
array[0] = 0;
else {
if (n % 2 == 0) {
for (int i = 1; i < n; i += 2) {
array[i - 1] = -i;
array[i] = i;
}
} else {
for (int i = 1; i < n; i += 2) {
array[i] = i;
array[i + 1] = -i;
}
}
}
return array;
}
}

############

class Solution {
public int[] sumZero(int n) {
int[] ans = new int[n];
for (int i = 1; i < n; ++i) {
ans[i] = i;
}
ans[0] = -(n * (n - 1) / 2);
return ans;
}
}

• // OJ: https://leetcode.com/problems/find-n-unique-integers-sum-up-to-zero/
// Time: O(N)
// Space: O(1)
class Solution {
public:
vector<int> sumZero(int n) {
vector<int> ans;
if (n % 2) ans.push_back(0), --n;
for (int i = 1; i <= n / 2; ++i) {
ans.push_back(i);
ans.push_back(-i);
}
return ans;
}
};

• class Solution:
def sumZero(self, n: int) -> List[int]:
presum = 0
res = []
for i in range(1, n):
res.append(i)
presum += i
res.append(-presum)
return res


• func sumZero(n int) []int {
ans := make([]int, n)
for i := 1; i < n; i++ {
ans[i] = i
}
ans[0] = -n * (n - 1) / 2
return ans
}

• function sumZero(n: number): number[] {
const ans = new Array(n).fill(0);
for (let i = 1; i < n; ++i) {
ans[i] = i;
}
ans[0] = -((n * (n - 1)) / 2);
return ans;
}