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.

// 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;
    }
};

Java

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;
    }
}

All Problems

All Solutions